pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"add_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"add_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"all_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_column\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      },\n      \"key\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"statistics\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_size_definition\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bigint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bit\",\n            \"named\": true\n          },\n          {\n            \"type\": \"char\",\n            \"named\": true\n          },\n          {\n            \"type\": \"datetimeoffset\",\n            \"named\": true\n          },\n          {\n            \"type\": \"decimal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"double\",\n            \"named\": true\n          },\n          {\n            \"type\": \"enum\",\n            \"named\": true\n          },\n          {\n            \"type\": \"float\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_bigserial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_boolean\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_box2d\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_box3d\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_bytea\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_date\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_datetime\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_datetime2\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_geography\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_geometry\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_image\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_inet\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_json\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_jsonb\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_money\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_oid\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regclass\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regnamespace\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regproc\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regtype\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_serial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smalldatetime\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smallmoney\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smallserial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_text\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_timestamptz\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_uuid\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_xml\",\n            \"named\": true\n          },\n          {\n            \"type\": \"mediumint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nchar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"numeric\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nvarchar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"smallint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"timestamp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tinyint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"varbinary\",\n            \"named\": true\n          },\n          {\n            \"type\": \"varchar\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_compression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_extended\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_main\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_plain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_storage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_database\",\n    \"named\": true,\n    \"fields\": {\n      \"configuration_parameter\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"change_ownership\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_configuration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_index\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_role\",\n    \"named\": true,\n    \"fields\": {\n      \"connection_limit\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"option\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"password\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"valid_until\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_encrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_password\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_until\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_valid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_configuration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_schema\",\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\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_sequence\",\n    \"named\": true,\n    \"fields\": {\n      \"cache\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"custom_type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      },\n      \"restart\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"start\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"change_ownership\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_logged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_maxvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_minvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restart\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\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\": \"add_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"add_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"change_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"change_ownership\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modify_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_schema\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_type\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"change_ownership\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_view\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"change_ownership\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rename_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_schema\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_size_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_array\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"assignment_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"between_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"high\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"low\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"keyword_between\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_not\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_and\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bigint\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_binary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\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\": \"distinct_from\",\n            \"named\": true\n          },\n          {\n            \"type\": \"is_not\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_and\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_in\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_is\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_like\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_or\",\n            \"named\": true\n          },\n          {\n            \"type\": \"not_distinct_from\",\n            \"named\": true\n          },\n          {\n            \"type\": \"not_in\",\n            \"named\": true\n          },\n          {\n            \"type\": \"not_like\",\n            \"named\": true\n          },\n          {\n            \"type\": \"not_similar_to\",\n            \"named\": true\n          },\n          {\n            \"type\": \"op_other\",\n            \"named\": true\n          },\n          {\n            \"type\": \"similar_to\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"bit\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"keyword_cast\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"change_column\",\n    \"named\": true,\n    \"fields\": {\n      \"old_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_change\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"change_ownership\",\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\": \"keyword_owner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"char\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_char\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column\",\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            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_size_definition\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bigint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bit\",\n            \"named\": true\n          },\n          {\n            \"type\": \"char\",\n            \"named\": true\n          },\n          {\n            \"type\": \"datetimeoffset\",\n            \"named\": true\n          },\n          {\n            \"type\": \"decimal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"double\",\n            \"named\": true\n          },\n          {\n            \"type\": \"enum\",\n            \"named\": true\n          },\n          {\n            \"type\": \"float\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_bigserial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_boolean\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_box2d\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_box3d\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_bytea\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_date\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_datetime\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_datetime2\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_geography\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_geometry\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_image\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_inet\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_json\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_jsonb\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_money\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_oid\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regclass\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regnamespace\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regproc\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_regtype\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_serial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smalldatetime\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smallmoney\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_smallserial\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_text\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_timestamptz\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_uuid\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_xml\",\n            \"named\": true\n          },\n          {\n            \"type\": \"mediumint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nchar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"numeric\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nvarchar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"smallint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"timestamp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tinyint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"varbinary\",\n            \"named\": true\n          },\n          {\n            \"type\": \"varchar\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_always\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_auto_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_current_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_generated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_virtual\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\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\": \"column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraints\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"column_position\",\n    \"named\": true,\n    \"fields\": {\n      \"col_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_first\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"command\",\n    \"named\": false,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"comment_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tablespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_action\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_foreign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_references\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ordered_columns\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraints\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_database\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_extension\",\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\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_definitions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_cost\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_leakproof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_safety\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_security\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_strictness\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_support\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_volatility\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_setof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_index\",\n    \"named\": true,\n    \"fields\": {\n      \"column\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_fields\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_brin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_btree\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_gin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_gist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_spgist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_materialized_view\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_query\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_role\",\n    \"named\": true,\n    \"fields\": {\n      \"connection_limit\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"option\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"password\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"valid_until\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_admin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_encrypted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_password\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_until\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_valid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_schema\",\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\": \"keyword_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_sequence\",\n    \"named\": true,\n    \"fields\": {\n      \"cache\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"custom_type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      },\n      \"increment\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"start\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_increment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_maxvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_minvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_owned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_table\",\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\": \"create_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oids\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tblproperties\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unlogged\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stored_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_sort\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_trigger\",\n    \"named\": true,\n    \"fields\": {\n      \"parameter\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"term\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_definer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_each\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_follows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_initially\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_old\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_precedes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_referencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_type\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definitions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_elements\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_view\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cascaded\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cross_join\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_ordinality\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cte\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"datetimeoffset\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_datetimeoffset\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decimal\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"scale\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_decimal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delete\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delete\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"direction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_desc\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"distinct_from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_is\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"double\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"scale\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_precision\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_real\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_column\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_constraint\",\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\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_database\",\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\": \"keyword_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_extension\",\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\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_function\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_index\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_concurrently\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_role\",\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\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_schema\",\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\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_sequence\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_view\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_enum\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_elements\",\n    \"named\": true,\n    \"fields\": {\n      \"enum_element\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"exists\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field\",\n    \"named\": true,\n    \"fields\": {\n      \"column\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"expression\": {\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\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"opclass\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"opclass_parameters\": {\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\": \"term\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"filename\",\n    \"named\": false,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"filter_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_filter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"scale\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"frame_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"end\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"start\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unbounded\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cross_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lateral_cross_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lateral_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_argument\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inout\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_variadic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"function_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dollar_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_atomic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_declare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_cost\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cost\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"custom_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_size_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bigint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datetimeoffset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bigserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box2d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_box3d\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bytea\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_datetime2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geography\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_image\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_json\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonb\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_money\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regclass\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regnamespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regproc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_regtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smalldatetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallmoney\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_smallserial\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamptz\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uuid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_xml\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nvarchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varbinary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_language\",\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\": \"keyword_language\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_leakproof\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_leakproof\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_rows\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_rows\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_safety\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_parallel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restricted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_safe\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsafe\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_security\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_definer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_invoker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_security\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_strictness\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_called\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_input\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_strict\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_support\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_support\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_volatility\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_immutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_stable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_volatile\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_having\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"index_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"field\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_hint\",\n    \"named\": true,\n    \"fields\": {\n      \"index_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_ignore\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_use\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delayed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_duplicate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_high_priority\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_ignore\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_low_priority\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_nothing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_overwrite\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"int\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_interval\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"invocation\",\n    \"named\": true,\n    \"fields\": {\n      \"parameter\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"term\",\n            \"named\": true\n          }\n        ]\n      },\n      \"unit\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"object_reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"filter_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_separator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"term\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"is_not\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join\",\n    \"named\": true,\n    \"fields\": {\n      \"predicate\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_right\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"keyword_bigint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_bigserial\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_char\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_character\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_int\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_like\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_mediumint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_real\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_serial\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_smallint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_smallserial\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_tinyint\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_varchar\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_varying\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lateral_cross_join\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lateral_join\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"limit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_true\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mediumint\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_mediumint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modify_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column_position\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_modify\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nchar\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_nchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_distinct_from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_in\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_like\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_similar_to\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_similar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"numeric\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"scale\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_numeric\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nvarchar\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_nvarchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_id\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_reference\",\n    \"named\": true,\n    \"fields\": {\n      \"database\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema\": {\n        \"multiple\": false,\n        \"required\": false,\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\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"offset\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_offset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_target\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ordered_columns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"partition_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transaction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relation\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rename_column\",\n    \"named\": true,\n    \"fields\": {\n      \"new_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"old_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rename_object\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reset_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_format\",\n    \"named\": true,\n    \"fields\": {\n      \"escaped_char\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"fields_terminated_char\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"row_terminated_char\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_escaped\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_fields\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_lines\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_terminated\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"term\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_configuration\",\n    \"named\": true,\n    \"fields\": {\n      \"option\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\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\": \"keyword_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_operation\",\n    \"named\": true,\n    \"fields\": {\n      \"operation\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"keyword_all\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_except\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_intersect\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_union\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_schema\",\n    \"named\": true,\n    \"fields\": {\n      \"schema\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_statement\",\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\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_authorization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_characteristics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_committed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_deferrable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_deferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_names\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_off\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_repeatable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_serializable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_session\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_snapshot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uncommitted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_write\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"similar_to\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_similar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"smallint\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"predicate\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"timeout\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comment_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_materialized_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_extension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_role\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_analyze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_bin_pack\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_binary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_compute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_copy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_csv\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_encoding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_escape\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_explain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_force_not_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_force_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_force_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_format\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_freeze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_incremental\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_match\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_metadata\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_noscan\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_optimize\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_parallel\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_quote\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_restrict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rewrite\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_stats\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_stdin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_vacuum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_verbose\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_wait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reset_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"when_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"storage_location\",\n    \"named\": true,\n    \"fields\": {\n      \"path\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pool\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_cached\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replication\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_uncached\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"storage_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stored_as\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_avro\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_csv\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_jsonfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_orc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_parquet\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rcfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sequencefile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_stored\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_textfile\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subquery\",\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    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subscript\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"lower\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"subscript\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"upper\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"table_option\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_default\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_engine\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\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\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_partition\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"column_definitions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_partitioned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_sort\",\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\": \"keyword_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_sort\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"term\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"all_fields\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"time\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timestamp\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_without\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zone\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tinyint\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_tinyint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unsigned\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_zerofill\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transaction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"bang\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_all\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_any\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_not\",\n            \"named\": true\n          },\n          {\n            \"type\": \"keyword_some\",\n            \"named\": true\n          },\n          {\n            \"type\": \"op_unary_other\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"update\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"values\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"varbinary\",\n    \"named\": true,\n    \"fields\": {\n      \"precision\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_varbinary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"varchar\",\n    \"named\": true,\n    \"fields\": {\n      \"size\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_varchar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"when_clause\",\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      \"predicate\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_materialized\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_recursive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_show\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_tables\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unload\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_function\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where\",\n    \"named\": true,\n    \"fields\": {\n      \"predicate\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"case\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast\",\n            \"named\": true\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"invocation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subquery\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"window_function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_window\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_frame\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"frame_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_exclude\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_group\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_groups\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_others\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_ties\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_function\",\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\": \"invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_over\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_specification\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"order_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"partition_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_frame\",\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\": \"bang\",\n    \"named\": true\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"dollar_quote\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_action\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_add\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_admin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_after\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_all\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_alter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_always\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_analyze\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_and\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_any\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_array\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_as\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_asc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_atomic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_attribute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_authorization\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_auto_increment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_avro\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_before\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_begin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_between\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_bin_pack\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_binary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_bit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_boolean\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_box2d\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_box3d\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_brin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_btree\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_by\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_bytea\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cache\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cached\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_called\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cascade\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cascaded\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_case\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cast\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_change\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_characteristics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_check\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_collate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_column\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_columns\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_commit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_committed\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_compression\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_compute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_concurrently\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_conflict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_connection\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_constraint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_constraints\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_copy\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cost\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_create\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cross\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_csv\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_current\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_current_timestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_cycle\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_data\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_database\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_date\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_datetime\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_datetime2\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_datetimeoffset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_decimal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_declare\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_default\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_deferrable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_deferred\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_definer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_delayed\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_delete\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_delimited\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_delimiter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_desc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_distinct\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_do\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_double\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_drop\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_duplicate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_each\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_else\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_encoding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_encrypted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_engine\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_enum\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_escape\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_escaped\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_except\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_exclude\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_execute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_exists\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_explain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_extended\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_extension\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_external\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_false\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_fields\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_filter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_first\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_following\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_follows\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_for\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_force\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_force_not_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_force_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_force_quote\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_foreign\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_format\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_freeze\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_from\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_full\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_function\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_generated\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_geography\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_geometry\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_gin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_gist\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_group\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_groups\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_hash\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_having\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_header\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_high_priority\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_if\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_ignore\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_image\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_immediate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_immutable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_in\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_increment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_incremental\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_index\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_inet\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_initially\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_inner\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_inout\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_input\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_insert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_instead\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_intersect\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_interval\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_into\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_invoker\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_is\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_isolation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_join\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_json\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_jsonb\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_jsonfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_key\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_language\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_last\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_lateral\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_leakproof\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_left\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_level\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_limit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_lines\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_local\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_location\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_logged\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_low_priority\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_main\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_match\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_matched\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_materialized\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_maxvalue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_merge\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_metadata\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_minvalue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_modify\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_money\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_names\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_natural\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_nchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_new\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_no\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_none\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_noscan\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_not\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_nothing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_nowait\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_nulls\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_numeric\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_nvarchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_object_id\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_of\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_off\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_offset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_oid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_oids\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_old\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_on\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_only\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_optimize\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_option\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_or\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_orc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_order\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_ordinality\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_others\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_out\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_outer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_over\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_overwrite\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_owned\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_owner\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_parallel\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_parquet\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_partition\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_partitioned\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_password\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_plain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_precedes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_preceding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_precision\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_primary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_procedure\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_program\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_quote\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_range\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_rcfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_read\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_recursive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_references\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_referencing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_regclass\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_regnamespace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_regproc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_regtype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_rename\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_repeatable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_replace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_replication\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_reset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_restart\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_restrict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_restricted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_return\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_returning\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_returns\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_rewrite\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_right\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_role\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_rollback\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_row\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_rows\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_safe\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_schema\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_security\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_select\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_separator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_sequencefile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_serializable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_session\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_set\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_setof\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_show\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_similar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_smalldatetime\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_smallmoney\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_snapshot\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_some\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_sort\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_spgist\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_stable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_start\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_statement\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_statistics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_stats\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_stdin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_storage\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_stored\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_strict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_support\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_table\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_tables\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_tablespace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_tblproperties\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_temp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_temporary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_terminated\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_textfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_then\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_ties\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_time\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_timestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_timestamptz\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_to\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_transaction\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_trigger\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_true\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_truncate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unbounded\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_uncached\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_uncommitted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_union\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unique\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unload\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unlogged\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unsafe\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_unsigned\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_until\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_update\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_use\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_using\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_uuid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_vacuum\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_valid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_value\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_values\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_varbinary\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_variadic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_varying\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_verbose\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_version\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_view\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_virtual\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_volatile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_wait\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_when\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_where\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_window\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_with\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_without\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_write\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_xml\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_zerofill\",\n    \"named\": true\n  },\n  {\n    \"type\": \"keyword_zone\",\n    \"named\": true\n  },\n  {\n    \"type\": \"marginalia\",\n    \"named\": true\n  },\n  {\n    \"type\": \"op_other\",\n    \"named\": true\n  },\n  {\n    \"type\": \"op_unary_other\",\n    \"named\": true\n  },\n  {\n    \"type\": \"parameter\",\n    \"named\": true\n  }\n]";
Expand description

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