pub const NODE_TYPES: &'static str = "[\n  {\n    \"type\": \"$.returns\",\n    \"named\": false,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"FALSE\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"NULL\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"TRUE\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"alter_column_drop_not_nulls_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"column_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_column_set_data_type_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"column_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"column_schema\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"column_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_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\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_column_set_options_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"column_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_schema_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_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\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_column_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": \"keyword_if_not_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_rename_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"new_table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_table_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"analytic_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"over_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"argument_reference\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"array\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_element_access\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"as_alias\",\n    \"named\": true,\n    \"fields\": {\n      \"alias_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"assert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"asterisk_expression\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"begin_end_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"begin_exception_end_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"between_from\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"between_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"exp\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"from\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"between_from\",\n            \"named\": true\n          }\n        ]\n      },\n      \"to\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"between_to\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"between_to\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_current_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unbounded_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unbounded_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_numeric_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_numeric_preceding\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\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\": \"AND\",\n            \"named\": false\n          },\n          {\n            \"type\": \"DISTINCT_FROM\",\n            \"named\": false\n          },\n          {\n            \"type\": \"IN\",\n            \"named\": false\n          },\n          {\n            \"type\": \"IS\",\n            \"named\": false\n          },\n          {\n            \"type\": \"LIKE\",\n            \"named\": false\n          },\n          {\n            \"type\": \"NOT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"OR\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"break_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"call_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"caseelse_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"else_result\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"casewhen_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"match_condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"match_result\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"casewhen_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"expr\": {\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\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"caseelse_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_format_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast_format_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"format_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"column_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"column_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"column_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"column_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"option\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"option_list\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"column_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"column_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"continue_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"create_function_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_function_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_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\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if_not_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_procedure_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_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\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if_not_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_schema_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_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\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_not_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_table_function_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_function_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_table_function_returns\",\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    }\n  },\n  {\n    \"type\": \"create_table_function_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_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\": \"create_table_function_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_returns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if_not_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_table_parameters\",\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    }\n  },\n  {\n    \"type\": \"create_table_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": false,\n      \"types\": [\n        {\n          \"type\": \"create_table_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if_not_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_temporary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_cluster_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_partition_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cte_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"non_recursive_cte\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"declare_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"variable_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"default_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delete_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_function_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_procedure_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_schema_option\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"drop_schema_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_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\": false,\n      \"types\": [\n        {\n          \"type\": \"drop_schema_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_table_function_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"routine_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_table_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"keyword_if_exists\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"else_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"elseif_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"execute_immadiate_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_in_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pivot_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tablesample_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpivot_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_item\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": false,\n      \"types\": [\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_operation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_call\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"asterisk_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"group_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"group_by_clause_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by_clause_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"having_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"if_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"else_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elseif_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"input_column\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"insert_columns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"insert_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": \"insert_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datetime_part\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"into_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"iterate_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"join_operation\",\n    \"named\": true,\n    \"fields\": {\n      \"join_condition\": {\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\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"ON\",\n            \"named\": false\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"USING\",\n            \"named\": false\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"keys\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"CROSS_JOIN\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"from_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_current_row\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_if_exists\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_if_not_exists\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_replace\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_temporary\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_unbounded_following\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"keyword_unbounded_preceding\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"leave_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"limit_clause\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"loop_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_delete_clause\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"merge_insert_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"insert_columns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_matched_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"merge_delete_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_update_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"search_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_not_matched_by_source_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"merge_delete_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_update_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"search_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_not_matched_by_target_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"merge_insert_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"search_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"source_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_matched_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_not_matched_by_source_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_not_matched_by_target_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_update_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"update_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"multi_column_unpivot\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpivot_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpivot_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"name_column\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"named_window_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"non_recursive_cte\",\n    \"named\": true,\n    \"fields\": {\n      \"alias_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"query_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"number\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"numeric\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"numeric\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"option_item\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"option_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"option_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"order_by_clause_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by_clause_body\",\n    \"named\": true,\n    \"fields\": {\n      \"nulls_preference\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"NULLS_FIRST\",\n            \"named\": false\n          },\n          {\n            \"type\": \"NULLS_LAST\",\n            \"named\": false\n          }\n        ]\n      },\n      \"order\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"ASC\",\n            \"named\": false\n          },\n          {\n            \"type\": \"DESC\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"over_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_specification\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"partition_by\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"partition_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"partition_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pivot_column\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pivot_operator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pivot_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pivot_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pivot_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"procedure_argument\",\n    \"named\": true,\n    \"fields\": {\n      \"argument_mode\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"IN\",\n            \"named\": false\n          },\n          {\n            \"type\": \"INOUT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"OUT\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qualify_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"query_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cte_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_operation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"query_parameter\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"query_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"query_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"raise_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"repeat_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"until_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_satement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"rows_range\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"search_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\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\": \"from_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualify_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_all\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"asterisk_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_all_except\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_all_replace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_all_except\",\n    \"named\": true,\n    \"fields\": {\n      \"except_key\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"select_all_replace\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_replace_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\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_replace_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_subexpression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"query_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"update_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_operation\",\n    \"named\": true,\n    \"fields\": {\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"EXCEPT_DISTINCT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"INTERSECT_DISTINCT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"UNION_ALL\",\n            \"named\": false\n          },\n          {\n            \"type\": \"UNION_DISTINCT\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"query_expr\",\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\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"single_column_unpivot\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpivot_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpivot_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"struct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_cluster_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_partition_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"partition_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tablesample_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"sample_rate\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"time\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"truncate_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"EXISTS\",\n            \"named\": false\n          },\n          {\n            \"type\": \"NOT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~\",\n            \"named\": false\n          }\n        ]\n      },\n      \"value\": {\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\": \"FALSE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"NULL\",\n            \"named\": true\n          },\n          {\n            \"type\": \"TRUE\",\n            \"named\": true\n          },\n          {\n            \"type\": \"analytic_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"argument_reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_element_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"between_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"casewhen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cast_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interval\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"query_parameter\",\n            \"named\": true\n          },\n          {\n            \"type\": \"select_subexpression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"struct\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unnest_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unnest_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\": \"unnest_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_withoffset\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unnest_operator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unnest_withoffset\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unpivot_column\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unpivot_operator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"multi_column_unpivot\",\n          \"named\": true\n        },\n        {\n          \"type\": \"single_column_unpivot\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unpivot_value\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"until_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"table_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\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"from_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"using_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"as_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"value_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"values_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"while_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"FALSE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"NULL\",\n          \"named\": true\n        },\n        {\n          \"type\": \"TRUE\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_drop_not_nulls_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_data_type_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_column_set_options_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_column_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_rename_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"analytic_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_exception_end_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"casewhen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declare_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_schema_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_function_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_table_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immadiate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_in_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"iterate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"leave_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"query_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_satement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_subexpression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"truncate_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unnest_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"named_window_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_frame_between\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"between_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"between_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_current_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unbounded_following\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_numeric_following\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_frame_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"rows_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_frame_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_frame_start\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_frame_start\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"keyword_current_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_unbounded_preceding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_numeric_preceding\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_numeric_following\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_numeric_preceding\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"window_specification\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"partition_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"window_frame_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$$\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ADD_COLUMN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALTER_COLUMN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALTER_SCHEMA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AND\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ARRAY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ASC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ASSERT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BEGIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BETWEEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BIGDECIMAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BIGNUMERIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BREAK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BY_TARGET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CALL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CASCADE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CASE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CAST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CLUSTER_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CONTINUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CREATE_SCHEMA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CROSS_JOIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CURRENT_ROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATETIME\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATETIME_TRUNC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATE_TRUNC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DAY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DECIMAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DECLARE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DEFAULT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DELETE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DESC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DISTINCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DISTINCT_FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DROP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DROP_NOT_NULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DROP_SCHEMA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ELSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ELSEIF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END_FOR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END_IF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END_LOOP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END_REPEAT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END_WHILE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCEPT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCEPTION_WHEN_ERROR_THEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCEPT_DISTINCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDE_NULLS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXECUTE_IMMEDIATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FALSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOLLOWING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FORMAT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FUNCTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GENERATE_ARRAY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUP_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"HAVING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"HOUR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF_EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IF_NOT_EXISTS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INCLUDE_NULLS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INNER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INOUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INSERT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INTERSECT_DISTINCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INTERVAL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INTO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ITERATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"JOIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LANGUAGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LEAVE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LEFT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LIKE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LIMIT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LOOP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MATERIALIZED_VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MERGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"MONTH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NOT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULLS_FIRST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULLS_LAST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NUMERIC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OFFSET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ON\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OPTIONS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ORDER_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OR_REPLACE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OUTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OVER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PARTITION_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PERCENT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PIVOT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PRECEDING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PROCEDURE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"QUALIFY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RAISE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RANGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RANGE_BUCKET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RENAME_TO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REPEAT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REPLACE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RESTRICT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURNS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RIGHT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROLLUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ROWS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SAFE_CAST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SELECT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SET_DATA_TYPE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SNAPSHOT_TABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STRUCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLESAMPLE_SYSTEM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TABLE_FUNCTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TEMP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TEMPORARY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TIME\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TIMESTAMP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TIMESTAMP_TRUNC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TO\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRUNCATE_TABLE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNBOUNDED_FOLLOWING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNBOUNDED_PRECEDING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNION_ALL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNION_DISTINCT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNNEST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNPIVOT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNTIL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UPDATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UPDATE_SET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"USING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"USING_MESSAGE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VALUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VALUES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN_MATCHED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN_NOT_MATCHED\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN_NOT_MATCHED_BY_SOURCE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHERE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHILE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WINDOW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH_OFFSET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"YEAR\",\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\": \"_PARTITIONDATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"_PARTITIONTIME\",\n    \"named\": false\n  },\n  {\n    \"type\": \"_TABLE_SUFFIX\",\n    \"named\": false\n  },\n  {\n    \"type\": \"_string\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"datetime_part\",\n    \"named\": true\n  },\n  {\n    \"type\": \"language\",\n    \"named\": true\n  },\n  {\n    \"type\": \"system_variable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"variable_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~\",\n    \"named\": false\n  }\n]";
Expand description

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