This should be plain old ColId. Making it so makes the grammar less
complicated, and makes the compiled tables a kilobyte or so smaller
(likely because they don't have to deal with a keyword classification
that's not used anyplace else).
%type opt_if_not_exists
%type generated_when override_kind
%type
PartitionSpec OptPartitionSpec
-%type part_strategy
%type part_params
| /*EMPTY*/ { $$ = NULL; }
;
-PartitionSpec: PARTITION BY part_strategy '(' part_params ')'
+PartitionSpec: PARTITION BY ColId '(' part_params ')'
{
PartitionSpec *n = makeNode(PartitionSpec);
}
;
-part_strategy: IDENT { $$ = $1; }
- | unreserved_keyword { $$ = pstrdup($1); }
- ;
-
part_params: part_elem { $$ = list_make1($1); }
| part_params ',' part_elem { $$ = lappend($1, $3); }
;