NODE_TYPES

Constant NODE_TYPES 

Source
pub const NODE_TYPES: &'static str = "[\n  {\n    \"type\": \"FALSE\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"NULL\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"TRUE\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"alias\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definitions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_names\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alignment\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_owner\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_sequence\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"schema\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_table_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_action\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_action_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_action_alter_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_action_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_action_add\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"foreign_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_action_alter_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_action_set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_rename_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"analyze\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"argument_reference\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"array_element_access\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assigment_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"asterisk_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"at_time_zone_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"auto_increment_constraint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"begin_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\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      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"binary_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"boolean_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"canonical\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"category\",\n    \"named\": false,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"check_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"collatable\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"collation\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_definitions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"table_column\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_names\",\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    }\n  },\n  {\n    \"type\": \"comment_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"commit_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"conditional_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constrained_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_domain_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"check_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_extension_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"argmode\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"IN\",\n            \"named\": false\n          },\n          {\n            \"type\": \"INOUT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"OUT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"VARIADIC\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"create_function_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"replace\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"CREATE_OR_REPLACE_FUNCTION\",\n            \"named\": false\n          },\n          {\n            \"type\": \"CREATE_OR_REPLACE_PROCEDURE\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deterministic_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optimizer_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parallel_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_security_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_index_include_clause\",\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    }\n  },\n  {\n    \"type\": \"create_index_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_index_include_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_index_with_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_table_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_index_with_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"storage_parameter\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_materialized_view_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tablespace_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_role_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_schema_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_sequence\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_sequence\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_table_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_parameters\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_trigger_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"on_table\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"trigger_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_preferencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trigger_time\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_type_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"type_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"type_spec_base\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_spec_composite\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_spec_enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_spec_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_view_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_check_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"view_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cte\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cube_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"declare_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delete_statement\",\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\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delimiter\",\n    \"named\": false,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"deterministic_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"direction_constraint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"distinct_from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dotted_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"EXTENSION\",\n            \"named\": false\n          },\n          {\n            \"type\": \"INDEX\",\n            \"named\": false\n          },\n          {\n            \"type\": \"MATERIALIZED_VIEW\",\n            \"named\": false\n          },\n          {\n            \"type\": \"TABLE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"TABLESPACE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"VIEW\",\n            \"named\": false\n          }\n        ]\n      },\n      \"target\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"element\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exclude\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exclude_entry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exclude_entry\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"binary_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_class\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"fetch_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"filter_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"foreign_key\",\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\": \"references_constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_bound\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"frame_end\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"frame_bound\",\n            \"named\": true\n          }\n        ]\n      },\n      \"frame_start\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"frame_bound\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"frame_exclusion\",\n          \"named\": true\n        },\n        {\n          \"type\": \"frame_kind\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_exclusion\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"frame_kind\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"from_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tablesample_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_body\",\n    \"named\": true,\n    \"fields\": {\n      \"begin_label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"end_label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"link_symbol\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"obj_file\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"script\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_domain_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_extension_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_index_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_materialized_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grant_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pg_command\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_call\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ALL\",\n            \"named\": false\n          },\n          {\n            \"type\": \"DISTINCT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"order_by_clause\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"filter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"over_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"within_group_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"grant_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"DATABASE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"SCHEMA\",\n            \"named\": false\n          },\n          {\n            \"type\": \"SEQUENCE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"TABLE\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"group_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cube_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grouping_sets_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rollup_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\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\": \"expression_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"having_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"in_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_table_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_class\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ordered_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"initial_mode\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"input\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interval_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"is_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"distinct_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tablesample_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"json_access\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"like\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"limit_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mode\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"multirange_type_name\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"null_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"null_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"offset_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"on_delete_action\",\n    \"named\": true,\n    \"fields\": {\n      \"action\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"CASCADE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"RESTRICT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"SET_NULL\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"on_update_action\",\n    \"named\": true,\n    \"fields\": {\n      \"action\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"CASCADE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"RESTRICT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"SET_NULL\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"op_class\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"optimizer_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"order_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"order_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ordered_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"order\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"ASC\",\n            \"named\": false\n          },\n          {\n            \"type\": \"DESC\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"output\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"over_clause\",\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\": \"window_definition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parallel_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"partition_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pg_command\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"preferred\",\n    \"named\": false,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"primary_key\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"primary_key_constraint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"receive\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"references_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"on_delete_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"on_update_action\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rename\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"repeatable_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"seed\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rollback_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"rollup_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rows_from_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_ordinality\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"schema\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"select_clause_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_clause_body\",\n    \"named\": true,\n    \"fields\": {\n      \"into\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_statement\",\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_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_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          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_subexpression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"send\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"set_clause_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_clause_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assigment_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"scope\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"LOCAL\",\n            \"named\": false\n          },\n          {\n            \"type\": \"SESSION\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"setof\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\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\": \"alter_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comment_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"commit_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_domain_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_extension_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_index_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_materialized_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_trigger_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grant_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pg_command\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rollback_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"sql_security_hint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"storage\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"subscript\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subtype\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subtype_diff\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subtype_opclass\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_column\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"auto_increment_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"check_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"direction_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary_key_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"references_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique_constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_parameters\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"foreign_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique\",\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\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeatable_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tablespace_hint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_body\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"begin_label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"end_label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_domain_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_extension_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_index_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_materialized_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_view_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"grant_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pg_command\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_order\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_preferencing\",\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    }\n  },\n  {\n    \"type\": \"trigger_reference\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_time\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"truncate_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple\",\n    \"named\": true,\n    \"fields\": {\n      \"elements\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_cast\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_spec_base\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"VARIABLE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"alignment\",\n            \"named\": false\n          },\n          {\n            \"type\": \"analyze\",\n            \"named\": false\n          },\n          {\n            \"type\": \"category\",\n            \"named\": false\n          },\n          {\n            \"type\": \"collatable\",\n            \"named\": false\n          },\n          {\n            \"type\": \"default\",\n            \"named\": false\n          },\n          {\n            \"type\": \"delimiter\",\n            \"named\": false\n          },\n          {\n            \"type\": \"element\",\n            \"named\": false\n          },\n          {\n            \"type\": \"input\",\n            \"named\": false\n          },\n          {\n            \"type\": \"internallength\",\n            \"named\": false\n          },\n          {\n            \"type\": \"like\",\n            \"named\": false\n          },\n          {\n            \"type\": \"output\",\n            \"named\": false\n          },\n          {\n            \"type\": \"preferred\",\n            \"named\": false\n          },\n          {\n            \"type\": \"receive\",\n            \"named\": false\n          },\n          {\n            \"type\": \"send\",\n            \"named\": false\n          },\n          {\n            \"type\": \"storage\",\n            \"named\": false\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": false\n          },\n          {\n            \"type\": \"typmod_in\",\n            \"named\": false\n          },\n          {\n            \"type\": \"typmod_out\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_spec_composite\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_spec_enum\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_spec_range\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"canonical\",\n            \"named\": false\n          },\n          {\n            \"type\": \"collation\",\n            \"named\": false\n          },\n          {\n            \"type\": \"multirange_type_name\",\n            \"named\": false\n          },\n          {\n            \"type\": \"subtype\",\n            \"named\": false\n          },\n          {\n            \"type\": \"subtype_diff\",\n            \"named\": false\n          },\n          {\n            \"type\": \"subtype_opclass\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"typmod_in\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typmod_out\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"at_time_zone_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"boolean_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"in_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"json_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rows_from_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\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      }\n    }\n  },\n  {\n    \"type\": \"unique\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unique_constraint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"update_statement\",\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\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\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\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\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\": \"fetch_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"values_clause_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"version\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"view_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"view_check_option\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"view_columns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"view_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assigment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"view_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"view_option\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"at_time_zone_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"boolean_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"is_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"json_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rows_from_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\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\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_definition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"frame_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"partition_by_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\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_ordinality\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"within_group_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"order_by_clause\",\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\": \"/\",\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\": \"ADD\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AFTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALTER_COLUMN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AND\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ASC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ATOMIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AT_TIME_ZONE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AUTO_INCREMENT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BEFORE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BEGIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BETWEEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CACHE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CALLED_ON_NULL_INPUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CASCADE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CASCADED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CASE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CHECK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CHECK_OPTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"COLUMN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"COMMENT_ON\",\n    \"named\": false\n  },\n  {\n    \"type\": \"COMMIT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CONCURRENTLY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CONSTRAINT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CONTAINS_SQL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"COST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_DOMAIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_EXTENSION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_MATERIALIZED_VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_OR_REPLACE_FUNCTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_OR_REPLACE_PROCEDURE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_ROLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_SCHEMA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_TYPE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CUBE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CURRENT_ROLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CURRENT_ROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CURRENT_USER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATABASE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DECLARE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DEFAULT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DEFERRABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DEFERRED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DEFINER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DELETE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DESC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DETERMINISTIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DISTINCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DISTINCT_FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DROP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EACH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ELSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ENUM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE_CURRENT_ROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE_GROUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE_NO_OTHERS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE_TIES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXECUTE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXTENSION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXTERNAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FALSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FETCH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FILTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FIRST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOLLOWING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOLLOWS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOREIGN_KEY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FUNCTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GRANT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUPING_SETS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUPS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUP_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"HAVING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF_EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF_NOT_EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IMMEDIATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IMMUTABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INCLUDE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INCREMENT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INDEX\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INITIALLY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INNER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INOUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INSERT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INSTEAD_OF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INTO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INVOKER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"JOIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LANGUAGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LATERAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LEAKPROOF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LEFT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LIMIT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LOCAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MATERIALIZED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MATERIALIZED_VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MAXVALUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MINVALUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MODIFIES_SQL_DATA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NATURAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NOT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NOT_DEFERRABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NO_SQL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULLS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OFFSET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OLD\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ON\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ONLY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ON_DELETE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ON_UPDATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ORDER_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OR_REPLACE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OUTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OVER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OWNED_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OWNER_TO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PARALLEL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PARTITION_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRECEDES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRECEDING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRECISION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRIMARY_KEY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRIVILEGES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PROCEDURE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PUBLIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RANGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"READS_SQL_DATA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RECURSIVE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REFERENCES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REFERENCING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RENAME\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RENAME_TO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REPEATABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RESTRICT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RESTRICTED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURNS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURNS_NULL_ON_NULL_INPUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RIGHT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROLLBACK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROLLUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROWS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROWS_FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SAFE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SCHEMA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SECURITY_DEFINER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SECURITY_INVOKER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SELECT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SEQUENCE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SESSION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SESSION_USER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SETOF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SET_DEFAULT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SET_NULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SQL_SECURITY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"START\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STATEMENT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STRICT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SUPPORT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLESAMPLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLESPACE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TEMP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TEMPORARY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TIME_ZONE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRANSACTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRANSFORM_FOR_TYPE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRIGGER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRUNCATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNBOUNDED_FOLLOWING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNBOUNDED_PRECEDING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNIQUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNSAFE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UPDATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"USAGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"USING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VALUES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VARIABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VARIADIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VARYING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VERSION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VOLATILE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHERE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WINDOW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITHIN_GROUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITHOUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITHOUT_OIDS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH_GRANT_OPTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH_ORDINALITY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WORK\",\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\": \"alignment\",\n    \"named\": false\n  },\n  {\n    \"type\": \"analyze\",\n    \"named\": false\n  },\n  {\n    \"type\": \"canonical\",\n    \"named\": false\n  },\n  {\n    \"type\": \"category\",\n    \"named\": false\n  },\n  {\n    \"type\": \"collatable\",\n    \"named\": false\n  },\n  {\n    \"type\": \"collation\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"content\",\n    \"named\": true\n  },\n  {\n    \"type\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delimiter\",\n    \"named\": false\n  },\n  {\n    \"type\": \"element\",\n    \"named\": false\n  },\n  {\n    \"type\": \"input\",\n    \"named\": false\n  },\n  {\n    \"type\": \"internallength\",\n    \"named\": false\n  },\n  {\n    \"type\": \"language\",\n    \"named\": true\n  },\n  {\n    \"type\": \"like\",\n    \"named\": false\n  },\n  {\n    \"type\": \"multirange_type_name\",\n    \"named\": false\n  },\n  {\n    \"type\": \"number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"output\",\n    \"named\": false\n  },\n  {\n    \"type\": \"passedbyvalue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"preferred\",\n    \"named\": false\n  },\n  {\n    \"type\": \"receive\",\n    \"named\": false\n  },\n  {\n    \"type\": \"send\",\n    \"named\": false\n  },\n  {\n    \"type\": \"storage\",\n    \"named\": false\n  },\n  {\n    \"type\": \"subscript\",\n    \"named\": false\n  },\n  {\n    \"type\": \"subtype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"subtype_diff\",\n    \"named\": false\n  },\n  {\n    \"type\": \"subtype_opclass\",\n    \"named\": false\n  },\n  {\n    \"type\": \"typmod_in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"typmod_out\",\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]";
Expand description

The content of the node-types.json file for this grammar.