|
|
|
@ -645,23 +645,20 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); |
|
|
|
|
%type <list> hash_partbound |
|
|
|
|
%type <defelt> hash_partbound_elem |
|
|
|
|
|
|
|
|
|
%type <node> json_format_clause_opt |
|
|
|
|
json_value_expr |
|
|
|
|
json_output_clause_opt |
|
|
|
|
json_name_and_value |
|
|
|
|
json_aggregate_func |
|
|
|
|
%type <list> json_name_and_value_list |
|
|
|
|
json_value_expr_list |
|
|
|
|
json_array_aggregate_order_by_clause_opt |
|
|
|
|
%type <ival> json_encoding_clause_opt |
|
|
|
|
json_predicate_type_constraint |
|
|
|
|
%type <boolean> json_key_uniqueness_constraint_opt |
|
|
|
|
json_object_constructor_null_clause_opt |
|
|
|
|
json_array_constructor_null_clause_opt |
|
|
|
|
|
|
|
|
|
%type <node> json_format_clause_opt |
|
|
|
|
json_value_expr |
|
|
|
|
json_output_clause_opt |
|
|
|
|
json_name_and_value |
|
|
|
|
json_aggregate_func |
|
|
|
|
|
|
|
|
|
%type <list> json_name_and_value_list |
|
|
|
|
json_value_expr_list |
|
|
|
|
json_array_aggregate_order_by_clause_opt |
|
|
|
|
|
|
|
|
|
%type <ival> json_encoding_clause_opt |
|
|
|
|
json_predicate_type_constraint |
|
|
|
|
|
|
|
|
|
%type <boolean> json_key_uniqueness_constraint_opt |
|
|
|
|
json_object_constructor_null_clause_opt |
|
|
|
|
json_array_constructor_null_clause_opt |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* Non-keyword token types. These are hard-wired into the "flex" lexer. |
|
|
|
|