[ { "type": "alter_column_action", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "alter_column_type", "named": true }, { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "alter_column_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "predefined_types", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "alter_table_action", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "alter_column_action", "named": true }, { "type": "alter_table_fk_ref_action", "named": true }, { "type": "identifier", "named": true }, { "type": "if_exists", "named": true }, { "type": "if_not_exists", "named": true }, { "type": "table_column_item", "named": true }, { "type": "table_constraint", "named": true } ] } }, { "type": "alter_table_change", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "alter_table_action", "named": true }, { "type": "alter_table_change_schema", "named": true }, { "type": "alter_table_rename_column", "named": true }, { "type": "alter_table_rename_constraint", "named": true }, { "type": "alter_table_rename_table", "named": true } ] } }, { "type": "alter_table_change_schema", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "alter_table_fk_ref_action", "named": true, "fields": {} }, { "type": "alter_table_rename_column", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "alter_table_rename_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "alter_table_rename_table", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "alter_table_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "alter_table_change", "named": true }, { "type": "identifier", "named": true }, { "type": "if_exists", "named": true } ] } }, { "type": "and", "named": true, "fields": {} }, { "type": "array_constructor", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "as", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "assign_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "block", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "declarations", "named": true }, { "type": "dollar_quote", "named": true } ] } }, { "type": "body", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "alter_table_statement", "named": true }, { "type": "assign_statement", "named": true }, { "type": "create_function_statement", "named": true }, { "type": "create_index_statement", "named": true }, { "type": "create_schema_statement", "named": true }, { "type": "create_sequence_statement", "named": true }, { "type": "create_table_statement", "named": true }, { "type": "create_trigger_statement", "named": true }, { "type": "create_type_statement", "named": true }, { "type": "delete_statement", "named": true }, { "type": "do_block", "named": true }, { "type": "drop_function_statement", "named": true }, { "type": "drop_type_statement", "named": true }, { "type": "execute_statement", "named": true }, { "type": "for_statement", "named": true }, { "type": "get_diagnostics_statement", "named": true }, { "type": "grant_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "insert_statement", "named": true }, { "type": "open_cursor_statement", "named": true }, { "type": "perform_statement", "named": true }, { "type": "psql_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "select_statement", "named": true }, { "type": "update_statement", "named": true } ] } }, { "type": "column_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "column_constraint_ty", "named": true }, { "type": "constraint_when", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "column_constraint_ty", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "constraint_foreign_key", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "columns", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "comparison_kw", "named": true, "fields": {} }, { "type": "comparison_null", "named": true, "fields": {} }, { "type": "comparison_op", "named": true, "fields": {} }, { "type": "conflict_target", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "constraint_foreign_key", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "fk_action", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "constraint_when", "named": true, "fields": {} }, { "type": "contains_op", "named": true, "fields": {} }, { "type": "create_function_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "block", "named": true }, { "type": "function_return", "named": true }, { "type": "function_run_as", "named": true }, { "type": "function_signature", "named": true }, { "type": "function_volatility", "named": true }, { "type": "identifier", "named": true }, { "type": "or_replace", "named": true }, { "type": "string", "named": true } ] } }, { "type": "create_index_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "if_not_exists", "named": true }, { "type": "index_col", "named": true }, { "type": "index_includes", "named": true }, { "type": "index_using", "named": true }, { "type": "where_filter", "named": true } ] } }, { "type": "create_schema_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "if_not_exists", "named": true }, { "type": "schema_role", "named": true } ] } }, { "type": "create_sequence_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "as", "named": true }, { "type": "identifier", "named": true }, { "type": "if_not_exists", "named": true }, { "type": "sequence_cache", "named": true }, { "type": "sequence_cycle", "named": true }, { "type": "sequence_increment", "named": true }, { "type": "sequence_max", "named": true }, { "type": "sequence_min", "named": true }, { "type": "sequence_owned", "named": true }, { "type": "sequence_start", "named": true }, { "type": "temporary", "named": true } ] } }, { "type": "create_table_item", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "table_column_item", "named": true }, { "type": "table_constraint", "named": true } ] } }, { "type": "create_table_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "create_table_item", "named": true }, { "type": "identifier", "named": true }, { "type": "if_not_exists", "named": true }, { "type": "temporary", "named": true } ] } }, { "type": "create_trigger_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "trigger_cond", "named": true }, { "type": "trigger_event", "named": true }, { "type": "trigger_exec", "named": true }, { "type": "trigger_scope", "named": true }, { "type": "trigger_when", "named": true } ] } }, { "type": "create_type_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "string", "named": true }, { "type": "var_declaration", "named": true } ] } }, { "type": "declarations", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "var_definition", "named": true } ] } }, { "type": "delete_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "delete_using", "named": true }, { "type": "identifier", "named": true }, { "type": "into", "named": true }, { "type": "select_item", "named": true }, { "type": "where_filter", "named": true }, { "type": "with_query", "named": true } ] } }, { "type": "delete_using", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "from_item", "named": true } ] } }, { "type": "do_block", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "block", "named": true } ] } }, { "type": "dollar_quote", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "dollar_quote_string", "named": true, "fields": {} }, { "type": "drop_function_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "if_exists", "named": true }, { "type": "predefined_types", "named": true }, { "type": "var_declaration", "named": true } ] } }, { "type": "drop_function_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "drop_function_item", "named": true } ] } }, { "type": "drop_type_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "if_exists", "named": true } ] } }, { "type": "execute_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "execute_using", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "into", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "execute_using", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "false", "named": true, "fields": {} }, { "type": "fk_action", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "fk_ref_action", "named": true } ] } }, { "type": "fk_ref_action", "named": true, "fields": {} }, { "type": "for_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "alter_table_statement", "named": true }, { "type": "array_constructor", "named": true }, { "type": "assign_statement", "named": true }, { "type": "create_function_statement", "named": true }, { "type": "create_index_statement", "named": true }, { "type": "create_schema_statement", "named": true }, { "type": "create_sequence_statement", "named": true }, { "type": "create_table_statement", "named": true }, { "type": "create_trigger_statement", "named": true }, { "type": "create_type_statement", "named": true }, { "type": "delete_statement", "named": true }, { "type": "do_block", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "drop_function_statement", "named": true }, { "type": "drop_type_statement", "named": true }, { "type": "execute_statement", "named": true }, { "type": "false", "named": true }, { "type": "for_statement", "named": true }, { "type": "function_call", "named": true }, { "type": "get_diagnostics_statement", "named": true }, { "type": "grant_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "if_statement", "named": true }, { "type": "insert_statement", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "open_cursor_statement", "named": true }, { "type": "perform_statement", "named": true }, { "type": "psql_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true }, { "type": "update_statement", "named": true } ] } }, { "type": "from_function", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "function_call", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "from_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "from_function", "named": true }, { "type": "from_select", "named": true }, { "type": "from_table", "named": true }, { "type": "join_item", "named": true } ] } }, { "type": "from_select", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "select_statement", "named": true } ] } }, { "type": "from_table", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "function_call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "function_parameters", "named": true, "fields": { "default_value": { "multiple": true, "required": false, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": ",", "named": false }, { "type": ".", "named": false }, { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "var_declaration", "named": true } ] } }, { "type": "function_return", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "predefined_types", "named": true }, { "type": "return_setof", "named": true }, { "type": "return_table", "named": true } ] } }, { "type": "function_run_as", "named": true, "fields": {} }, { "type": "function_signature", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "function_parameters", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "function_volatility", "named": true, "fields": {} }, { "type": "get_diagnostics_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "assign_statement", "named": true } ] } }, { "type": "grant_function", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "predefined_types", "named": true } ] } }, { "type": "grant_privileges", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "grant_roles", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "grant_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "grant_privileges", "named": true }, { "type": "grant_roles", "named": true }, { "type": "grant_targets", "named": true } ] } }, { "type": "grant_targets", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "grant_function", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "identifier", "named": true, "fields": {} }, { "type": "if_exists", "named": true, "fields": {} }, { "type": "if_not_exists", "named": true, "fields": {} }, { "type": "if_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "alter_table_statement", "named": true }, { "type": "array_constructor", "named": true }, { "type": "assign_statement", "named": true }, { "type": "create_function_statement", "named": true }, { "type": "create_index_statement", "named": true }, { "type": "create_schema_statement", "named": true }, { "type": "create_sequence_statement", "named": true }, { "type": "create_table_statement", "named": true }, { "type": "create_trigger_statement", "named": true }, { "type": "create_type_statement", "named": true }, { "type": "delete_statement", "named": true }, { "type": "do_block", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "drop_function_statement", "named": true }, { "type": "drop_type_statement", "named": true }, { "type": "execute_statement", "named": true }, { "type": "false", "named": true }, { "type": "for_statement", "named": true }, { "type": "function_call", "named": true }, { "type": "get_diagnostics_statement", "named": true }, { "type": "grant_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "if_statement", "named": true }, { "type": "insert_statement", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "open_cursor_statement", "named": true }, { "type": "perform_statement", "named": true }, { "type": "psql_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true }, { "type": "update_statement", "named": true } ] } }, { "type": "index_col", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "index_col_dir", "named": true }, { "type": "index_col_nulls", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "index_col_dir", "named": true, "fields": {} }, { "type": "index_col_nulls", "named": true, "fields": {} }, { "type": "index_includes", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "index_using", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "insert_conflict", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "conflict_target", "named": true }, { "type": "update_set", "named": true }, { "type": "where_filter", "named": true } ] } }, { "type": "insert_item", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "insert_items", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "insert_values", "named": true }, { "type": "select_statement", "named": true } ] } }, { "type": "insert_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "as", "named": true }, { "type": "columns", "named": true }, { "type": "identifier", "named": true }, { "type": "insert_conflict", "named": true }, { "type": "insert_items", "named": true }, { "type": "into", "named": true }, { "type": "returning", "named": true }, { "type": "with_query", "named": true } ] } }, { "type": "insert_values", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "insert_item", "named": true } ] } }, { "type": "into", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "join_condition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "join_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "from_item", "named": true }, { "type": "join_condition", "named": true }, { "type": "join_type", "named": true } ] } }, { "type": "join_type", "named": true, "fields": {} }, { "type": "minus", "named": true, "fields": {} }, { "type": "not", "named": true, "fields": {} }, { "type": "null", "named": true, "fields": {} }, { "type": "op_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "and", "named": true }, { "type": "array_constructor", "named": true }, { "type": "cast", "named": true }, { "type": "comparison_kw", "named": true }, { "type": "comparison_null", "named": true }, { "type": "comparison_op", "named": true }, { "type": "contains_op", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "minus", "named": true }, { "type": "not", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "or", "named": true }, { "type": "other_op", "named": true }, { "type": "plus", "named": true }, { "type": "predefined_types", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "open_cursor_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "execute_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "select_statement", "named": true } ] } }, { "type": "or", "named": true, "fields": {} }, { "type": "or_replace", "named": true, "fields": {} }, { "type": "order_by_direction", "named": true, "fields": {} }, { "type": "order_by_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "order_by_direction", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "other_op", "named": true, "fields": {} }, { "type": "perform_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "select_item", "named": true } ] } }, { "type": "plus", "named": true, "fields": {} }, { "type": "precision", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "number", "named": true } ] } }, { "type": "predefined_types", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "precision", "named": true } ] } }, { "type": "psql_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "raise_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "return_setof", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "predefined_types", "named": true } ] } }, { "type": "return_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "execute_statement", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "return_table", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "var_declaration", "named": true } ] } }, { "type": "returning", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "select_item", "named": true } ] } }, { "type": "schema_role", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "select_from", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "from_item", "named": true } ] } }, { "type": "select_group_by", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "select_having", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "select_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "select_limit", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "select_offset", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "select_order_by", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "order_by_item", "named": true } ] } }, { "type": "select_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "into", "named": true }, { "type": "select_from", "named": true }, { "type": "select_group_by", "named": true }, { "type": "select_having", "named": true }, { "type": "select_item", "named": true }, { "type": "select_limit", "named": true }, { "type": "select_offset", "named": true }, { "type": "select_order_by", "named": true }, { "type": "select_where", "named": true }, { "type": "with_query", "named": true } ] } }, { "type": "select_where", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "where_filter", "named": true } ] } }, { "type": "sequence_cache", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "number", "named": true } ] } }, { "type": "sequence_cycle", "named": true, "fields": {} }, { "type": "sequence_increment", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "number", "named": true } ] } }, { "type": "sequence_max", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "number", "named": true } ] } }, { "type": "sequence_min", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "number", "named": true } ] } }, { "type": "sequence_owned", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "sequence_start", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "number", "named": true } ] } }, { "type": "source_file", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "alter_table_statement", "named": true }, { "type": "create_function_statement", "named": true }, { "type": "create_index_statement", "named": true }, { "type": "create_schema_statement", "named": true }, { "type": "create_sequence_statement", "named": true }, { "type": "create_table_statement", "named": true }, { "type": "create_trigger_statement", "named": true }, { "type": "create_type_statement", "named": true }, { "type": "delete_statement", "named": true }, { "type": "do_block", "named": true }, { "type": "drop_function_statement", "named": true }, { "type": "drop_type_statement", "named": true }, { "type": "grant_statement", "named": true }, { "type": "insert_statement", "named": true }, { "type": "psql_statement", "named": true }, { "type": "select_statement", "named": true }, { "type": "update_statement", "named": true } ] } }, { "type": "star", "named": true, "fields": {} }, { "type": "string", "named": true, "fields": {} }, { "type": "table_column_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "column_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "predefined_types", "named": true } ] } }, { "type": "table_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "constraint_when", "named": true }, { "type": "identifier", "named": true }, { "type": "table_constraint_ty", "named": true } ] } }, { "type": "table_constraint_ty", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "constraint_foreign_key", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "temporary", "named": true, "fields": {} }, { "type": "time_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "trigger_cond", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "trigger_event", "named": true, "fields": {} }, { "type": "trigger_exec", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "function_call", "named": true } ] } }, { "type": "trigger_scope", "named": true, "fields": {} }, { "type": "trigger_when", "named": true, "fields": {} }, { "type": "true", "named": true, "fields": {} }, { "type": "update_set", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "update_value", "named": true } ] } }, { "type": "update_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "from_item", "named": true }, { "type": "identifier", "named": true }, { "type": "returning", "named": true }, { "type": "update_set", "named": true }, { "type": "where_filter", "named": true }, { "type": "with_query", "named": true } ] } }, { "type": "update_value", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "var_declaration", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": true, "required": true, "types": [ { "type": "%rowtype", "named": false }, { "type": "%type", "named": false }, { "type": "[", "named": false }, { "type": "]", "named": false }, { "type": "identifier", "named": true }, { "type": "predefined_types", "named": true } ] } } }, { "type": "var_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true }, { "type": "var_declaration", "named": true } ] } }, { "type": "where_filter", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_constructor", "named": true }, { "type": "dollar_quote_string", "named": true }, { "type": "false", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "op_expression", "named": true }, { "type": "select_statement", "named": true }, { "type": "star", "named": true }, { "type": "string", "named": true }, { "type": "time_expression", "named": true }, { "type": "true", "named": true } ] } }, { "type": "with_query", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "with_query_item", "named": true } ] } }, { "type": "with_query_item", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "delete_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "insert_statement", "named": true }, { "type": "select_statement", "named": true }, { "type": "update_statement", "named": true } ] } }, { "type": "!=", "named": false }, { "type": "$", "named": false }, { "type": "%", "named": false }, { "type": "%rowtype", "named": false }, { "type": "%type", "named": false }, { "type": "&&", "named": false }, { "type": "&<", "named": false }, { "type": "&>", "named": false }, { "type": "'", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "*", "named": false }, { "type": "+", "named": false }, { "type": ",", "named": false }, { "type": "-", "named": false }, { "type": "-|-", "named": false }, { "type": ".", "named": false }, { "type": "..", "named": false }, { "type": "/", "named": false }, { "type": ":=", "named": false }, { "type": ";", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<=", "named": false }, { "type": "<>", "named": false }, { "type": "<@", "named": false }, { "type": "=", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": "@>", "named": false }, { "type": "[", "named": false }, { "type": "\\", "named": false }, { "type": "]", "named": false }, { "type": "action", "named": false }, { "type": "add", "named": false }, { "type": "after", "named": false }, { "type": "all", "named": false }, { "type": "alter", "named": false }, { "type": "and", "named": false }, { "type": "array", "named": false }, { "type": "as", "named": false }, { "type": "asc", "named": false }, { "type": "at", "named": false }, { "type": "authorization", "named": false }, { "type": "before", "named": false }, { "type": "begin", "named": false }, { "type": "between", "named": false }, { "type": "by", "named": false }, { "type": "cache", "named": false }, { "type": "cascade", "named": false }, { "type": "cast", "named": true }, { "type": "check", "named": false }, { "type": "column", "named": false }, { "type": "comment", "named": true }, { "type": "concurrently", "named": false }, { "type": "conflict", "named": false }, { "type": "constraint", "named": false }, { "type": "create", "named": false }, { "type": "cross", "named": false }, { "type": "current", "named": false }, { "type": "current_user", "named": false }, { "type": "cycle", "named": false }, { "type": "data", "named": false }, { "type": "day", "named": false }, { "type": "declare", "named": false }, { "type": "default", "named": false }, { "type": "deferrable", "named": false }, { "type": "deferred", "named": false }, { "type": "definer", "named": false }, { "type": "delete", "named": false }, { "type": "desc", "named": false }, { "type": "diagnostics", "named": false }, { "type": "do", "named": false }, { "type": "drop", "named": false }, { "type": "each", "named": false }, { "type": "else", "named": false }, { "type": "elseif", "named": false }, { "type": "elsif", "named": false }, { "type": "end", "named": false }, { "type": "enum", "named": false }, { "type": "execute", "named": false }, { "type": "exists", "named": false }, { "type": "false", "named": false }, { "type": "first", "named": false }, { "type": "for", "named": false }, { "type": "foreign", "named": false }, { "type": "from", "named": false }, { "type": "full", "named": false }, { "type": "function", "named": false }, { "type": "functions", "named": false }, { "type": "get", "named": false }, { "type": "grant", "named": false }, { "type": "group", "named": false }, { "type": "having", "named": false }, { "type": "hour", "named": false }, { "type": "if", "named": false }, { "type": "ilike", "named": false }, { "type": "immediate", "named": false }, { "type": "immutable", "named": false }, { "type": "in", "named": false }, { "type": "include", "named": false }, { "type": "increment", "named": false }, { "type": "index", "named": false }, { "type": "initially", "named": false }, { "type": "inner", "named": false }, { "type": "insert", "named": false }, { "type": "instead of", "named": false }, { "type": "interval", "named": false }, { "type": "into", "named": false }, { "type": "invoker", "named": false }, { "type": "is", "named": false }, { "type": "is distinct from", "named": false }, { "type": "is not distinct from", "named": false }, { "type": "is not null", "named": false }, { "type": "is null", "named": false }, { "type": "isnull", "named": false }, { "type": "join", "named": false }, { "type": "key", "named": false }, { "type": "language", "named": false }, { "type": "last", "named": false }, { "type": "left", "named": false }, { "type": "like", "named": false }, { "type": "limit", "named": false }, { "type": "loop", "named": false }, { "type": "materialized", "named": false }, { "type": "maxvalue", "named": false }, { "type": "minute", "named": false }, { "type": "minvalue", "named": false }, { "type": "month", "named": false }, { "type": "natural", "named": false }, { "type": "no", "named": false }, { "type": "none", "named": false }, { "type": "not", "named": false }, { "type": "nothing", "named": false }, { "type": "notnull", "named": false }, { "type": "null", "named": false }, { "type": "nulls", "named": false }, { "type": "number", "named": true }, { "type": "numeric", "named": false }, { "type": "offset", "named": false }, { "type": "on", "named": false }, { "type": "open", "named": false }, { "type": "or", "named": false }, { "type": "order", "named": false }, { "type": "outer", "named": false }, { "type": "owned", "named": false }, { "type": "perform", "named": false }, { "type": "primary", "named": false }, { "type": "privileges", "named": false }, { "type": "procedure", "named": false }, { "type": "public", "named": false }, { "type": "query", "named": false }, { "type": "raise", "named": false }, { "type": "references", "named": false }, { "type": "rename", "named": false }, { "type": "replace", "named": false }, { "type": "restrict", "named": false }, { "type": "return", "named": false }, { "type": "returning", "named": false }, { "type": "returns", "named": false }, { "type": "reverse", "named": false }, { "type": "right", "named": false }, { "type": "routine", "named": false }, { "type": "row", "named": false }, { "type": "rows", "named": false }, { "type": "schema", "named": false }, { "type": "second", "named": false }, { "type": "security", "named": false }, { "type": "select", "named": false }, { "type": "sequence", "named": false }, { "type": "sequences", "named": false }, { "type": "session_user", "named": false }, { "type": "set", "named": false }, { "type": "setof", "named": false }, { "type": "stable", "named": false }, { "type": "start", "named": false }, { "type": "statement", "named": false }, { "type": "strict", "named": false }, { "type": "table", "named": false }, { "type": "tables", "named": false }, { "type": "temp", "named": false }, { "type": "temporary", "named": false }, { "type": "then", "named": false }, { "type": "time", "named": false }, { "type": "to", "named": false }, { "type": "trigger", "named": false }, { "type": "true", "named": false }, { "type": "truncate", "named": false }, { "type": "type", "named": false }, { "type": "unique", "named": false }, { "type": "unlogged", "named": false }, { "type": "update", "named": false }, { "type": "using", "named": false }, { "type": "values", "named": false }, { "type": "volatile", "named": false }, { "type": "when", "named": false }, { "type": "where", "named": false }, { "type": "with", "named": false }, { "type": "year", "named": false }, { "type": "zone", "named": false }, { "type": "||", "named": false } ]