Skip to main content

NODE_TYPES

Constant NODE_TYPES 

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"AexprConst\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstInterval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstTypename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hex_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_sort_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterCollationStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterCompositeTypeStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_type_cmds\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterDatabaseSetStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SetResetClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterDatabaseStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createdb_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterDefaultPrivilegesStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DefACLAction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DefACLOptionList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_privileges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterDomainStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DomainConstraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\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\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterEnumStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_if_not_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterEventTrigStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enable_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterExtensionContentsStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"add_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterExtensionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_extension_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterFdwStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fdw_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_fdw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterForeignServerStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"foreign_server_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterFunctionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alterfunc_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_restrict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterGroupStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"add_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterObjectDependsStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depends\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterObjectSchemaStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterOpFamilyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_drop_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_item_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterOperatorStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_def_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterOptRoleElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SignedIconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_password\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unencrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_until\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_valid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterOptRoleList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AlterOptRoleElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterOptRoleList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterOwnerStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_procedural\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterPolicyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RowSecurityOptionalExpr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityOptionalToRole\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityOptionalWithCheck\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterPublicationStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pub_obj_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterRoleSetStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SetResetClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_in_database\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterRoleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AlterOptRoleList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterSeqStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SeqOptList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterStatsStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statistics_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterSubscriptionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_skip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_definition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterSystemStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterTSConfigurationStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterTSDictionaryStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterTableStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_table_cmds\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_partition_cmd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"partition_cmd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterTblSpcStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterTypeStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_def_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AlterUserMappingStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"auth_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"AnalyzeStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"analyze_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_vacuum_relation_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"BareColLabel\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bare_label_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Bit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"BitWithLength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"BitWithoutLength\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"BitWithLength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"BitWithoutLength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CallStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_application\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Character\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"CharacterWithLength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CharacterWithoutLength\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CharacterWithLength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"character\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CharacterWithoutLength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"character\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CheckPointStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_checkpoint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ClosePortalStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ClusterStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cluster_index_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cluster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ColConstraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColConstraintElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstraintAttr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ColConstraintElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptConsTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptParenthesizedSeqOptList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generated_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"key_actions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"key_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_key\",\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\": \"kw_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_no_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_unique_null_treatment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_virtual_or_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ColId\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"col_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ColLabel\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"col_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reserved_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_func_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ColQualList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColConstraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ColQualList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CommentStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comment_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_name_on_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstBit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"BitWithLength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"BitWithoutLength\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstCharacter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"CharacterWithLength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CharacterWithoutLength\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstDatetime\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_timezone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstInterval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_interval\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstTypename\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstBit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstCharacter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstDatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"JsonType\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Numeric\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstraintAttr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enforced\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_initially\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstraintAttributeElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enforced\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_initially\",\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_valid\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstraintAttributeSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstraintAttributeElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstraintElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExclusionConstraintList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExistingIndex\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptConsTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptWhereClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_method_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"key_actions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"key_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_key\",\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\": \"kw_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_c_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_and_period_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_unique_null_treatment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_without_overlaps\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optionalPeriodName\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ConstraintsSetStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraints_set_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraints_set_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CopyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PreparableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_file_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_copy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateAmStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"am_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"handler_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateAsStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTemp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_as_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_data\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateAssertionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assertion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateCastStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateConversionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateDomainStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColQualList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateEventTrigStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"FUNCTION_or_PROCEDURE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_trigger_when_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateExtensionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_extension_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateFdwStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_fdw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateForeignServerStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_foreign_server_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateForeignTableStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptInherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTableElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTypedTableElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"PartitionBoundSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateFunctionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_args_with_defaults\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_createfunc_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_routine_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_func_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateGroupStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptRoleList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateMatViewStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptNoLog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_mv_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_data\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateOpClassStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_item_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_opfamily\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateOpFamilyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateOptRoleElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AlterOptRoleElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_admin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sysid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreatePLangStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"handler_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_inline_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_procedural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_trusted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_validator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreatePolicyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RowSecurityDefaultForCmd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityDefaultPermissive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityDefaultToRole\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityOptionalExpr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RowSecurityOptionalWithCheck\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreatePublicationStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pub_obj_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateRoleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptRoleList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateSchemaStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptSchemaEltList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_single_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateSeqStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptSeqOptList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTemp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateStatsStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stats_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OnCommitOption\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptInherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptPartitionSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTableElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTemp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTypedTableElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptWith\",\n          \"named\": true\n        },\n        {\n          \"type\": \"PartitionBoundSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_access_method_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateSubscriptionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_definition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateTableSpaceStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTableSpaceOwner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_reloptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateTransformStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transform_element_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateTrigStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"FUNCTION_or_PROCEDURE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptConstrFromTable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerActionTime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerEvents\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerForSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerFuncArgs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerReferencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerWhen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_each\",\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_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateUserMappingStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"auth_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreateUserStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptRoleList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"CreatedbStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createdb_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DeallocateStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deallocate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DeclareCursorStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_declare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_hold\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DefACLAction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"defacl_privilege_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grantee_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_grant_grant_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privileges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DefACLOption\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DefACLOptionList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DefACLOption\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DefACLOptionList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DefineStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTableFuncElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggr_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"old_aggr_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_enum_val_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DeleteStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_opt_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_or_current_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DiscardStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_plans\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequences\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temporary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DoStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dostmt_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DomainConstraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DomainConstraintElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DomainConstraintElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropCastStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropOpClassStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropOpFamilyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropOwnedStmt\",\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_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropRoleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_name_on_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropSubscriptionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropTableSpaceStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropTransformStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropUserMappingStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"auth_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"DropdbStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"drop_option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExclusionConstraintElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExclusionConstraintList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ExclusionConstraintElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExclusionConstraintList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExecuteStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTemp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_as_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_param_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_data\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExistingIndex\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExplainStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ExplainableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analyze_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_explain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ExplainableStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"CreateAsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateMatViewStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DeclareCursorStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DeleteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExecuteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"InsertStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"MergeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RefreshMatViewStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"UpdateStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"FUNCTION_or_PROCEDURE\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"FetchStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"fetch_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_move\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"FunctionSetResetClause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"VariableResetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_rest_more\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"GenericType\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attrs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_type_modifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_function_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"GrantRoleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"grant_role_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_granted_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"GrantStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"grantee_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_grant_grant_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_granted_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privileges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"I_or_F_const\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Iconst\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ImportForeignSchemaStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_qualification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_import\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"IndexStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_method_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_params\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_reloptions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_single_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_unique_null_treatment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"InsertStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"insert_rest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_target\",\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\": \"opt_on_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"JsonType\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ListenStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_listen\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"LoadStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"file_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_load\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"LockStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_lock\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_lock\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"MathOp\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"MergeStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_when_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_opt_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_ref\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"NonReservedWord\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"col_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_func_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"NonReservedWord_or_Sconst\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"NotifyStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notify_payload\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Numeric\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_precision\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_real\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_type_modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"NumericOnly\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SignedIconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"NumericOnly_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NumericOnly_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OnCommitOption\",\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\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preserve\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptConsTableSpace\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptConstrFromTable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptInherit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_inherits\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptNoLog\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptParenthesizedSeqOptList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SeqOptList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptPartitionSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PartitionSpec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptRoleList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"CreateOptRoleElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptRoleList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptSchemaEltList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptSchemaEltList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"schema_stmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptSeqOptList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SeqOptList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTableElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTableFuncElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableFuncElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTableSpace\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTableSpaceOwner\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTemp\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_global\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTempTableName\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_global\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptTypedTableElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TypedTableElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptWhereClause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"OptWith\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_oids\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PLpgSQL_Expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_distinct_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_for_locking_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_select_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_sort_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_target_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PartitionBoundSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_partbound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PartitionSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"part_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PreparableStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DeleteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"InsertStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"MergeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"UpdateStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PrepareStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PreparableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prep_type_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"PublicationObjSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptWhereClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extended_relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\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\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ReassignOwnedStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reassign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RefreshMatViewStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ReindexStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_reindex\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_reindex_option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_single_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reindex_target_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reindex_target_relation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RemoveAggrStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"aggregate_with_argtypes_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RemoveFuncStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_with_argtypes_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RemoveOperStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RenameStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_procedural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ReturnStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RevokeRoleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_granted_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RevokeStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"grantee_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_granted_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privileges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RoleId\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RoleSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session_user\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityDefaultForCmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_security_cmd\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityDefaultPermissive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityDefaultToRole\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityOptionalExpr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityOptionalToRole\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RowSecurityOptionalWithCheck\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RuleActionList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"RuleActionMulti\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RuleActionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RuleActionMulti\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"RuleActionMulti\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RuleActionStmtOrEmpty\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RuleActionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"DeleteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"InsertStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NotifyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"UpdateStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RuleActionStmtOrEmpty\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RuleActionStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"RuleStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RuleActionList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_or_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Sconst\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SecLabelStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_provider\",\n          \"named\": true\n        },\n        {\n          \"type\": \"security_label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SelectStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_no_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SeqOptElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SimpleTypename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_maxvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restart\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SeqOptList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SeqOptElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SeqOptList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SetResetClause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"VariableResetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_rest\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SignedIconst\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"SimpleTypename\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstDatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstInterval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"GenericType\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"JsonType\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_interval\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableConstraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstraintElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableElement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableConstraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableLikeClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnDef\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableElement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableFuncElement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_collate_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableFuncElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableFuncElement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableFuncElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableLikeClause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableLikeOptionList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableLikeOption\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_defaults\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indexes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_storage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TableLikeOptionList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableLikeOption\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableLikeOptionList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_excluding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_including\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TransactionStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_abort\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepared\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_release\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_savepoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transaction_mode_list_or_empty\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TransactionStmtLegacy\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transaction_mode_list_or_empty\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TransitionOldOrNew\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_old\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TransitionRelName\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TransitionRowOrTable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerActionTime\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerEvents\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TriggerEvents\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerOneEvent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerForOptEach\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_each\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerForSpec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TriggerForOptEach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerForType\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerForType\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerFuncArg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerFuncArgs\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TriggerFuncArg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerFuncArgs\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerOneEvent\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerReferencing\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TriggerTransitions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_referencing\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerTransition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TransitionOldOrNew\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TransitionRelName\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TransitionRowOrTable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerTransitions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TriggerTransition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TriggerTransitions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TriggerWhen\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TruncateStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_restart_seqs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TypedTableElement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableConstraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnOptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"TypedTableElementList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TypedTableElement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TypedTableElementList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"Typename\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SimpleTypename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_array_bounds\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"UnlistenStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlisten\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"UpdateStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_opt_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_or_current_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"VacuumStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_vacuum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_analyze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_freeze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_vacuum_relation_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"VariableResetStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reset_rest\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"VariableSetStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_rest\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"VariableShowStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ViewStmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTemp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_check_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_reloptions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"a_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr_prec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_key_uniqueness_constraint_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_predicate_type_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_at\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_document\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ilike\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isnull\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notnull\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overlaps\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_similar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_symmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unknown\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_asymmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_unique_null_treatment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qual_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sub_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unicode_normal_form\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"a_expr_prec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr_prec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_at\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"access_method_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"add_drop\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"aggr_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"aggr_args\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"aggr_args_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"aggr_args_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"aggr_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggr_args_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"aggregate_with_argtypes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"aggr_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"aggregate_with_argtypes_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"aggregate_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"aggregate_with_argtypes_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alias_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"all_Op\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"MathOp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_column_default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_extension_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_extension_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_extension_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_extension_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_generic_option_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_option_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_option_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_generic_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_generic_option_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_generic_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_generic_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_generic_option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_identity_column_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SeqOptElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generated_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restart\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_identity_column_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_identity_column_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_identity_column_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_cmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstraintAttributeSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptParenthesizedSeqOptList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableConstraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_identity_column_option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnDef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_storage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generated_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cluster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_method\",\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_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_oids\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replica\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_collate_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_set_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloptions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"replica_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_access_method_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statistics_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_cmds\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_table_cmd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_cmds\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_type_cmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableFuncElement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_collate_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_drop_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_set_data\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_type_cmds\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_type_cmd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_type_cmds\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_using\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alterfunc_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alterfunc_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"common_func_opt_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"am_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"analyze_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_analyse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyze\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"any_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attrs\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"any_name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"any_operator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"all_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"any_with\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"arg_class\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variadic\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_expr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attr_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attrs\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attr_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attrs\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"auth_ident\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"b_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr_prec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_document\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\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\": \"qual_Op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"b_expr_prec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr_prec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bare_label_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_abort\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_absent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_absolute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_admin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_also\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_any\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assertion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asymmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_at\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_atomic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_backward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_both\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_breadth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_called\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascaded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_characteristics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_checkpoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cluster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_coalesce\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_committed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_copy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cost\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_csv\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cube\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deallocate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_decimal\",\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_defaults\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_definer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depends\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_detach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_document\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_each\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_empty\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enforced\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_excluding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclusive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_explain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extract\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_finalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_forward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_freeze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_functions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_global\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_granted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_greatest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grouping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_groups\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hold\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ilike\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_implicit\",\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_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_including\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indexes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherits\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_initially\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inline\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_input\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_invoker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_arrayagg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_objectagg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_serialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_keep\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_keys\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leading\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leakproof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_least\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_listen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_load\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtimestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lock\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_locked\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_maxvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_move\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_names\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_national\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nested\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nullif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_objects\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_off\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_oids\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_old\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_omit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_others\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overlay\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overriding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_passing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_password\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_period\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_placing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_plan\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_plans\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepared\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preserve\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_privileges\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedures\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_quotes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_real\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reassign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_referencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reindex\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_relative\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_release\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_repeatable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replica\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restart\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_right\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollup\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routines\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_savepoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schemas\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scroll\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequences\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_serializable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sets\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_share\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_similar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_skip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_snapshot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_some\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_source\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sql\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_standalone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_storage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_substring\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_support\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_symmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sysid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablesample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ties\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trailing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_treat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trim\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trusted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_types\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uescape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unbounded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uncommitted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unconditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unencrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unknown\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlisten\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_until\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_vacuum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_valid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variadic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_views\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_virtual\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_volatile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_whitespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_work\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_write\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlattributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlconcat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlelement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlexists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlforest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlnamespaces\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlparse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlpi\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlroot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlserialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmltable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_yes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"c_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AexprConst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"explicit_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grouping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"when_clause_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast_context\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_implicit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"character\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_national\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cluster_index_specification\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"col_name_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_coalesce\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extract\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_greatest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grouping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_arrayagg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_objectagg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_serialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_least\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_national\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nullif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overlay\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_precision\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_real\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_substring\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_treat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trim\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlattributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlconcat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlelement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlexists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlforest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlnamespaces\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlparse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlpi\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlroot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlserialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmltable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"columnDef\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ColQualList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_generic_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_storage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"columnElem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"columnList\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"columnOptions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ColQualList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_compression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_storage\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_storage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"columnref\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comment_text\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"common_func_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"FunctionSetResetClause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_called\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cost\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_definer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_input\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_invoker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leakproof\",\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\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_support\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_volatile\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"common_table_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PreparableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_cycle_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_search_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraints_set_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraints_set_mode\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_delimiter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_file_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdout\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_generic_opt_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_generic_opt_arg_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_boolean_or_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_generic_opt_arg_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"copy_generic_opt_arg_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_generic_opt_arg_list_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_generic_opt_arg_list_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"opt_boolean_or_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_generic_opt_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_generic_opt_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_generic_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"copy_generic_opt_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_generic_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_csv\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_freeze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_header\",\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\": \"kw_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"copy_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"copy_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"copy_generic_opt_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"copy_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_as_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OnCommitOption\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"OptWith\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_access_method_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_extension_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_extension_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_extension_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_extension_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_generic_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_mv_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTableSpace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_reloptions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_access_method_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createdb_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"createdb_opt_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_boolean_or_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_equal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createdb_opt_items\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createdb_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"createdb_opt_items\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createdb_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createdb_opt_items\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createdb_opt_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createfunc_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"common_func_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_window\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transform_type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"createfunc_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createfunc_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"createfunc_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cte_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"common_table_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cube_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cube\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scroll\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"def_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qual_all_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"def_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"def_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"def_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"def_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"def_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"defacl_privilege_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_functions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_objects\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routines\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schemas\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequences\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_types\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"def_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"distinct_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"document_or_content\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_document\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dostmt_opt_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dostmt_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dostmt_opt_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dostmt_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"drop_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_type_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_procedural\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"empty_grouping_set\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"enable_trigger\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replica\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_val_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_val_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_trigger_value_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"event_trigger_value_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_trigger_when_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_trigger_value_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_trigger_when_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"event_trigger_when_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_trigger_when_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"execute_param_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"explicit_row\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extended_relation_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extract_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_day\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hour\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_month\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_second\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_year\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extract_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extract_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fdw_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"handler_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fdw_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"fdw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fdw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fetch_args\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SignedIconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from_in\",\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\": \"opt_from_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"file_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"filter_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_filter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"first_or_next\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_locking_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_locking_items\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_locking_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_locking_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"locked_rels_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_nowait_or_skip\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_locking_items\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_locking_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_locking_items\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_locking_strength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_share\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"foreign_server_version\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_bound\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unbounded\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_extent\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"frame_bound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_between\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_in\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_ref\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_alias_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TableFuncElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alias_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_application\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variadic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_sort_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"arg_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"param_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_arg_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"param_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_arg_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_arg_list_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_arg_with_default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_args\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"func_args_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_args_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_args_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_args_with_defaults\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"func_args_with_defaults_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_args_with_defaults_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_arg_with_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_args_with_defaults_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_as\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"filter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_application\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr_common_subexpr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_aggregate_func\",\n          \"named\": true\n        },\n        {\n          \"type\": \"over_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"within_group_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_expr_common_subexpr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SimpleTypename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"document_or_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extract_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_arg_list_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_array_constructor_null_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_behavior_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_format_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_key_uniqueness_constraint_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_name_and_value_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_object_constructor_null_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_on_error_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_passing_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_quotes_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_returning_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_wrapper_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_both\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_coalesce\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extract\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_greatest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_serialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leading\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_least\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtimestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nullif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overlay\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_substring\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trailing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_treat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trim\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlconcat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlelement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlexists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlforest\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlparse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlpi\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlroot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlserialize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_xml_root_standalone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"overlay_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"position_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_no_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trim_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unicode_normal_form\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_attribute_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_indent_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_root_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_whitespace_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmlexists_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_expr_windowless\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_application\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr_common_subexpr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_aggregate_func\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_function_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_return\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_expr_windowless\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rowsfrom_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attrs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_function_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_with_argtypes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_func_name_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_with_argtypes_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generated_when\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_option_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_option_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_option_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_option_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_option_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_option_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_reset\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grant_role_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grant_role_opt_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grant_role_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"grant_role_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grant_role_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grant_role_opt_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grantee\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grantee_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"grantee\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grantee_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cube_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"empty_grouping_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grouping_sets_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rollup_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"group_by_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"group_by_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_quantifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grouping_sets_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"group_by_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grouping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sets\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"handler_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attrs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hash_partbound\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"hash_partbound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_partbound_elem\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hash_partbound_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NonReservedWord\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"having_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_having\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"implicit_row\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_qualification\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"import_qualification_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_qualification_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_except\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr_windowless\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_elem_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_elem_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_asc_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_nulls_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_including_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_including_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_partition_cmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_attach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"indirection\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection_el\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"indirection_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attr_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_slice_bound\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_column_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_indirection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_column_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"insert_column_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_rest\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overriding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"override_kind\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interval_second\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_second\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"into_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"OptTempTableName\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"iso_level\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_committed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_repeatable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_serializable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uncommitted\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_qual\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_alias_clause_for_join_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_right\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_outer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"joined_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"join_qual\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"joined_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_ref\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_aggregate_func\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_array_aggregate_order_by_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_array_constructor_null_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_key_uniqueness_constraint_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_name_and_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_object_constructor_null_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_returning_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_arrayagg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_objectagg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_argument\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_array_aggregate_order_by_clause_opt\",\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_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sortby_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_array_constructor_null_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_absent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_behavior\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_behavior_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_behavior_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_empty\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_behavior_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_empty\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unknown\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_format_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_format_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_format_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_key_uniqueness_constraint_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_keys\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_name_and_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_name_and_value_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_name_and_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_name_and_value_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_object_constructor_null_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_absent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_on_error_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_passing_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_passing\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_predicate_type_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_quotes_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_keep\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_omit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_quotes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_returning_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_format_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_on_error_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_passing_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table_column_definition_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table_path_name_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_table_column_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_behavior_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_format_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_on_error_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_quotes_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table_column_definition_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table_column_path_clause_opt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_wrapper_behavior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nested\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_opt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_table_column_definition_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_table_column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table_column_definition_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_table_column_path_clause_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_table_path_name_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_value_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_format_clause_opt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_value_expr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"json_value_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_value_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"json_wrapper_behavior\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unconditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"key_action\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"key_actions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"key_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"key_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"key_delete\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"key_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"key_match\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"key_update\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"key_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"limit_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"first_or_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ties\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_or_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_fetch_first_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_limit_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_offset_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lock_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclusive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_share\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"locked_rels_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_delete\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_insert\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"insert_column_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overriding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_values_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"override_kind\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_update\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_values_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_when_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_when_tgt_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_when_tgt_not_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_merge_when_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_when_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"merge_when_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_when_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_when_tgt_matched\",\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_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_source\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_when_tgt_not_matched\",\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_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"notify_payload\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_type_any_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_type_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"drop_type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_type_name_on_any_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"offset_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_offset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_or_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_fetch_first_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_offset_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"old_aggr_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"old_aggr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"old_aggr_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"def_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"old_aggr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"old_aggr_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"old_aggr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opclass_drop\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opclass_drop_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"opclass_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_drop_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opclass_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_storage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_purpose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opclass_item_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"opclass_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opclass_item_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opclass_purpose\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"oper_argtypes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_def_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qual_all_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_def_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_def_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_def_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"operator_def_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_def_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_with_argtypes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"oper_argtypes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_with_argtypes_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"operator_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_with_argtypes_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_alias_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alias_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_alias_clause_for_join_using\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_all_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_analyze\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"analyze_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_array_bounds\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_array_bounds\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_as\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_asc_desc\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_desc\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_asymmetric\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_asymmetric\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_binary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_binary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_boolean_or_string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_c_include\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_include\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_check_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_cascaded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_col_def_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TableFuncElementList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_collate\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_collate_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_column_and_period_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optionalPeriodName\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_column_compression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_compression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_column_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_column_storage\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_storage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_concurrently\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_concurrently\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_conf_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_params\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_createfunc_opt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"createfunc_opt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_cycle_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AexprConst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_distinct_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"distinct_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_all_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_drop_behavior\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restrict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_encoding\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_enum_val_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enum_val_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_equal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"opt_existing_window_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_fdw_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"fdw_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_float\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_for_locking_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_locking_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_foreign_server_version\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"foreign_server_version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_frame_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"frame_extent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_groups\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_window_exclusion_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_freeze\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_freeze\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_from_in\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_full\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_grant_grant_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_granted_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_granted\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_hold\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_hold\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_if_exists\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_if_not_exists\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_in_database\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_include\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_including_params\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_include\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_indirection\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"indirection_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_indirection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_inline_handler\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"handler_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inline\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_instead\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_also\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instead\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_interval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"interval_second\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_day\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hour\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_month\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_year\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_lock\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lock_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_materialized\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_merge_when_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_no\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_no_inherit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_nowait\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_nowait_or_skip\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_locked\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_skip\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_nulls_order\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_on_conflict\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_conf_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_opfamily\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_or_replace\",\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\": \"kw_replace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_ordinality\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_outer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_outer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_partition_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_procedural\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_procedural\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_program\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_program\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_provider\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_qualified_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_reindex_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_reloptions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloptions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_repeatable_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_repeatable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_restart_seqs\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restart\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_restrict\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_restrict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_routine_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ReturnStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_atomic\",\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\": \"routine_body_stmt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_search_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_breadth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_select_limit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_set_data\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_single_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_slice_bound\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_sort_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sort_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_target_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"target_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_timezone\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_transaction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_work\",\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\": \"opt_trusted\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_trusted\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_type_modifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_unique\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_unique_null_treatment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_using\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_vacuum_relation_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"vacuum_relation_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_validator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"validator_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_varying\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_verbose\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_verbose\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_virtual_or_stored\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_virtual\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_window_exclusion_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_others\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ties\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_with\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_with_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_with_data\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_without_overlaps\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_overlaps\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_xml_root_standalone\",\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_standalone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_yes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"optionalPeriodName\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnElem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_period\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"over_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_over\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"overlay_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_placing\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"override_kind\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"param_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_function_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"part_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr_windowless\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"part_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"part_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"part_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"partition_cmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PartitionBoundSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_detach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_finalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path_opt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"plassign_equals\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"plassign_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"position_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"prep_type_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"privilege\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"privilege_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"privilege\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"privilege_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_with_argtypes_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_functions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedures\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routines\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequences\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"privileges\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"columnList\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_privileges\",\n          \"named\": true\n        },\n        {\n          \"type\": \"privilege_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pub_obj_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"PublicationObjSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pub_obj_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qual_Op\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qual_all_Op\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"all_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qualified_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indirection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qualified_name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reindex_target_all\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reindex_target_relation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relation_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"extended_relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relation_expr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relation_expr_opt_alias\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reloption_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"def_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reloption_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"reloption_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reloption_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reloptions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"reloption_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"replica_identity\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reserved_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_any\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asymmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_both\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\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_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\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\": \"kw_except\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_having\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_initially\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leading\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_localtimestamp\",\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\": \"kw_offset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_placing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_some\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_symmetric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trailing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variadic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_window\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reset_rest\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generic_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"target_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_option_kind\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_option_kind\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_old\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"returning_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_with_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"role_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"RoleSpec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rollup_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollup\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"routine_body_stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ReturnStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"routine_body_stmt_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"routine_body_stmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"routine_body_stmt_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_or_rows\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_security_cmd\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rowsfrom_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_expr_windowless\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_col_def_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rowsfrom_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"rowsfrom_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rowsfrom_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"schema_stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"CreateSeqStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateTrigStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"GrantStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"IndexStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ViewStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"security_label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_select\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_fetch_first_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"I_or_F_const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_limit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_limit_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_no_parens\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_locking_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_for_locking_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_select_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_sort_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_offset_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_with_parens\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_no_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_access_method_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_target_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_clause_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_quantifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_rest\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_characteristics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_rest_more\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transaction_mode_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_rest_more\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord_or_Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"document_or_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_names\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_snapshot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"zone_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_statistics_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"SignedIconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_indirection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_target_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"set_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_target_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_select\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"distinct_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_except\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_all_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_target_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_quantifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"target_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sort_clause\",\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_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sortby_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sortby\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_asc_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_nulls_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qual_all_Op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sortby_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sortby\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sortby_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"toplevel_stmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stats_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_expr_windowless\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stats_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"stats_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stats_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"AlterCollationStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterCompositeTypeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterDatabaseSetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterDatabaseStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterDefaultPrivilegesStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterDomainStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterEnumStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterEventTrigStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterExtensionContentsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterExtensionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterFdwStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterForeignServerStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterFunctionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterGroupStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterObjectDependsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterObjectSchemaStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterOpFamilyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterOperatorStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterOwnerStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterPolicyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterPublicationStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterRoleSetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterRoleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterSeqStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterStatsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterSubscriptionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterSystemStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterTSConfigurationStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterTSDictionaryStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterTableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterTblSpcStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterTypeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AlterUserMappingStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"AnalyzeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CallStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CheckPointStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ClosePortalStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ClusterStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CommentStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ConstraintsSetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CopyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateAmStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateAsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateAssertionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateCastStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateConversionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateDomainStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateEventTrigStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateExtensionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateFdwStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateForeignServerStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateForeignTableStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateFunctionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateGroupStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateMatViewStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateOpClassStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateOpFamilyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreatePLangStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreatePolicyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreatePublicationStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateRoleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateSchemaStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateSeqStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateStatsStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateSubscriptionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateTableSpaceStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateTransformStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateTrigStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateUserMappingStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreateUserStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"CreatedbStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DeallocateStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DeclareCursorStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DefineStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DeleteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DiscardStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DoStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropCastStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropOpClassStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropOpFamilyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropOwnedStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropRoleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropSubscriptionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropTableSpaceStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropTransformStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropUserMappingStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"DropdbStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExecuteStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ExplainStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"FetchStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"GrantRoleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"GrantStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ImportForeignSchemaStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"IndexStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"InsertStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ListenStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"LoadStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"LockStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"MergeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NotifyStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"PrepareStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ReassignOwnedStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RefreshMatViewStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ReindexStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RemoveAggrStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RemoveFuncStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RemoveOperStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RenameStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RevokeRoleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RevokeStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"RuleStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SecLabelStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"SelectStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TransactionStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TruncateStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"UnlistenStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"UpdateStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"VacuumStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"VariableResetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"VariableSetStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"VariableShowStmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ViewStmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sub_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_any\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_some\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subquery_Op\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"all_Op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"any_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ilike\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"substr_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_similar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_access_method_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_func_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"func_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"param_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_func_column_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"table_func_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_func_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_ref\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alias_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_alias_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"joined_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_alias_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_with_parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tablesample_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmltable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tablesample_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablesample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_repeatable_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"target_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"BareColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"target_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"target_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"target_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"toplevel_stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"TransactionStmtLegacy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transaction_mode_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"iso_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_write\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transaction_mode_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"transaction_mode_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transaction_mode_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transaction_mode_list_or_empty\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"transaction_mode_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transform_element_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_with_argtypes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sql\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transform_type_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transform_type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trim_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_func_name_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_freeze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ilike\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isnull\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notnull\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overlaps\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_right\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_similar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablesample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_verbose\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_function_name\",\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\": \"type_func_name_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_name_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_name_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unicode_normal_form\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_nfc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkd\",\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_abort\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_absent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_absolute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_admin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_also\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assertion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_at\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_atomic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_backward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_breadth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_called\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascaded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_catalog\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_characteristics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_checkpoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cluster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_committed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_configuration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_conversion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_copy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cost\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_csv\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cube\",\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_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_day\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deallocate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_declare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_defaults\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_definer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delimiters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depends\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_detach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dictionary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_document\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_domain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_each\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_empty\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_encrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enforced\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_excluding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exclusive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_explain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_family\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_filter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_finalize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_forward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_functions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_global\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_granted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_groups\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hold\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hour\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_identity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_implicit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_import\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_including\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indexes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inherits\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inline\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_input\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insensitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_invoker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_keep\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_keys\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_large\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_leakproof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_listen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_load\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lock\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_locked\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mapping\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_maxvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_month\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_move\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_names\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nested\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nfkd\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_normalized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_objects\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_off\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_oids\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_old\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_omit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_others\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_over\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overriding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parser\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_passing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_password\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_period\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_plan\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_plans\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_policy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prepared\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_preserve\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_privileges\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedures\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_publication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_quotes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reassign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_referencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_refresh\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reindex\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_relative\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_release\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_repeatable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replica\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restart\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollup\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routine\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_routines\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rule\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_savepoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schemas\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scroll\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_second\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sequences\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_serializable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_server\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sets\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_share\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_skip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_snapshot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_source\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sql\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_standalone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stdout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_storage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subscription\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_support\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sysid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_system\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_template\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ties\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trusted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_types\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uescape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unbounded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uncommitted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unconditional\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unencrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unknown\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlisten\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_until\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_vacuum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_valid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varying\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_views\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_virtual\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_volatile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_whitespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_within\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_work\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wrapper\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_write\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_year\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_yes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"utility_option_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_boolean_or_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"utility_option_elem\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"utility_option_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"utility_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"utility_option_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"utility_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"utility_option_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NonReservedWord\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analyze_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_format\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"vacuum_relation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"opt_name_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"vacuum_relation_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"vacuum_relation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"vacuum_relation_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"validator_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"handler_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"values_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expr_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"var_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"var_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"var_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"var_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"var_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_boolean_or_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"when_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"when_clause_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"when_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"when_clause_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_or_current_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_window\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_definition_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_definition_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"window_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_definition_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_specification\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"opt_existing_window_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_frame_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_partition_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_sort_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cte_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"within_group_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_within\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_attribute_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_attribute_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"xml_attribute_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_attribute_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_attributes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_xmlattributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_attribute_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_indent_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_indent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_namespace_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColLabel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_namespace_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"xml_namespace_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_namespace_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_passing_mech\",\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_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_root_version\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"a_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xml_whitespace_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_preserve\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strip\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_whitespace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmlexists_argument\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_passing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_passing_mech\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmltable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"c_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmlnamespaces\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmltable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xml_namespace_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmlexists_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmltable_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmltable_column_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ColId\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Typename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmltable_column_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmltable_column_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"xmltable_column_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmltable_column_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmltable_column_option_el\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"b_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\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\": \"kw_path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"xmltable_column_option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"xmltable_column_option_el\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xmltable_column_option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"zone_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ConstInterval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Iconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NumericOnly\",\n          \"named\": true\n        },\n        {\n          \"type\": \"Sconst\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_interval\",\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\": \"<=\",\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\": \"bit_string_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"float_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"hex_string_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"integer_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_abort\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_absent\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_absolute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_access\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_action\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_add\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_admin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_after\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_aggregate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_all\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_also\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_alter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_always\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_analyse\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_analyze\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_and\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_any\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_array\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_as\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_asc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_asensitive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_assertion\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_assignment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_asymmetric\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_at\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_atomic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_attach\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_attribute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_authorization\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_backward\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_before\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_begin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_between\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_bigint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_binary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_bit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_boolean\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_both\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_breadth\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_by\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cache\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_call\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_called\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cascade\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cascaded\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_case\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cast\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_catalog\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_chain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_char\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_character\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_characteristics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_check\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_checkpoint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_class\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_close\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cluster\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_coalesce\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_collate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_collation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_column\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_columns\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_comments\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_commit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_committed\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_compression\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_concurrently\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_conditional\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_configuration\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_conflict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_connection\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constraint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constraints\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_content\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_continue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_conversion\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_copy\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cost\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_create\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cross\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_csv\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cube\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_catalog\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_date\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_role\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_schema\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_time\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_timestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cursor\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cycle\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_data\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_database\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_day\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_deallocate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_dec\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_decimal\",\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_defaults\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_deferrable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_deferred\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_definer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_delete\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_delimiter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_delimiters\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_depends\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_depth\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_desc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_detach\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_dictionary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_disable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_discard\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_distinct\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_do\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_document\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_domain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_double\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_drop\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_each\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_else\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_empty\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_enable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_encoding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_encrypted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_enforced\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_enum\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_error\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_escape\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_event\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_except\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exclude\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_excluding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exclusive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_execute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exists\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_explain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_expression\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_extension\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_external\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_extract\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_false\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_family\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_fetch\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_filter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_finalize\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_first\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_following\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_for\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_force\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_foreign\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_format\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_forward\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_freeze\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_from\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_full\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_function\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_functions\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_generated\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_global\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_grant\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_granted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_greatest\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_group\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_grouping\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_groups\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_handler\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_having\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_header\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_hold\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_hour\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_identity\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_if\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ilike\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_immediate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_immutable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_implicit\",\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_include\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_including\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_increment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_indent\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_index\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_indexes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inherit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inherits\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_initially\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inline\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inner\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inout\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_input\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_insensitive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_insert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_instead\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_int\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_intersect\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_interval\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_into\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_invoker\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_is\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_isnull\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_isolation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_join\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_array\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_arrayagg\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_exists\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_object\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_objectagg\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_query\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_scalar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_serialize\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_table\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_value\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_keep\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_key\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_keys\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_label\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_language\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_large\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_last\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_lateral\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_leading\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_leakproof\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_least\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_left\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_level\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_like\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_limit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_listen\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_load\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_local\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_localtime\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_localtimestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_location\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_lock\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_locked\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_logged\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_mapping\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_match\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_matched\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_materialized\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_maxvalue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_merge\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_merge_action\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_method\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_minute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_minvalue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_mode\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_month\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_move\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_names\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_national\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_natural\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nested\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_new\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_next\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nfc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nfd\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nfkc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nfkd\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_no\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_none\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_normalize\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_normalized\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_not\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nothing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_notify\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_notnull\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nowait\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nullif\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nulls\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_numeric\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_object\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_objects\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_of\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_off\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_offset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_oids\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_old\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_omit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_on\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_only\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_option\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_options\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_or\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_order\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ordinality\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_others\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_out\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_outer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_over\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_overlaps\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_overlay\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_overriding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_owned\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_owner\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parallel\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parameter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parser\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_partial\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_partition\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_passing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_password\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_path\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_period\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_placing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_plan\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_plans\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_policy\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_position\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_preceding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_precision\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_prepare\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_prepared\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_preserve\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_primary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_prior\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_privileges\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_procedural\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_procedure\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_procedures\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_program\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_publication\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_quote\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_quotes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_range\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_read\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_real\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reassign\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_recursive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ref\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_references\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_referencing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_refresh\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reindex\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_relative\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_release\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rename\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_repeatable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_replace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_replica\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_restart\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_restrict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_return\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_returning\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_returns\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_revoke\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_right\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_role\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rollback\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rollup\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_routine\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_routines\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_row\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rows\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rule\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_savepoint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_scalar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_schema\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_schemas\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_scroll\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_search\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_second\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_security\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_select\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sequences\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_serializable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_server\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_session\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_session_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_set\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_setof\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sets\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_share\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_show\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_similar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_simple\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_skip\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_smallint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_snapshot\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_some\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_source\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sql\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_stable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_standalone\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_start\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_statement\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_statistics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_stdin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_stdout\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_storage\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_stored\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_strict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_strip\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_subscription\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_substring\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_support\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_symmetric\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sysid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_system\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_system_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_table\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_tables\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_tablesample\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_tablespace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_target\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_temp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_template\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_temporary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_then\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ties\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_time\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_timestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_to\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trailing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_transaction\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_transform\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_treat\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trigger\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trim\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_true\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_truncate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trusted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_types\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_uescape\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unbounded\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_uncommitted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unconditional\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unencrypted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_union\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unique\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unknown\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unlisten\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unlogged\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_until\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_update\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_using\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_vacuum\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_valid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_validate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_validator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_value\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_values\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_variadic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varying\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_verbose\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_version\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_view\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_views\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_virtual\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_volatile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_when\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_where\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_whitespace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_window\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_with\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_within\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_without\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_work\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_wrapper\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_write\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xml\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlattributes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlconcat\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlelement\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlexists\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlforest\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlnamespaces\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlparse\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlpi\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlroot\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmlserialize\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmltable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_year\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_yes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_zone\",\n    \"named\": true\n  },\n  {\n    \"type\": \"operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"param\",\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 PostgreSQL grammar.