1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-03 22:24:49 +03:00

part_strategy does not need its very own keyword classification.

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).
This commit is contained in:
Tom Lane 2020-05-19 20:09:59 -04:00
parent 67b0b2dbf9
commit c7d65a252c

View File

@ -595,7 +595,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
%type <boolean> opt_if_not_exists %type <boolean> opt_if_not_exists
%type <ival> generated_when override_kind %type <ival> generated_when override_kind
%type <partspec> PartitionSpec OptPartitionSpec %type <partspec> PartitionSpec OptPartitionSpec
%type <str> part_strategy
%type <partelem> part_elem %type <partelem> part_elem
%type <list> part_params %type <list> part_params
%type <partboundspec> PartitionBoundSpec %type <partboundspec> PartitionBoundSpec
@ -3894,7 +3893,7 @@ OptPartitionSpec: PartitionSpec { $$ = $1; }
| /*EMPTY*/ { $$ = NULL; } | /*EMPTY*/ { $$ = NULL; }
; ;
PartitionSpec: PARTITION BY part_strategy '(' part_params ')' PartitionSpec: PARTITION BY ColId '(' part_params ')'
{ {
PartitionSpec *n = makeNode(PartitionSpec); PartitionSpec *n = makeNode(PartitionSpec);
@ -3906,10 +3905,6 @@ PartitionSpec: PARTITION BY part_strategy '(' part_params ')'
} }
; ;
part_strategy: IDENT { $$ = $1; }
| unreserved_keyword { $$ = pstrdup($1); }
;
part_params: part_elem { $$ = list_make1($1); } part_params: part_elem { $$ = list_make1($1); }
| part_params ',' part_elem { $$ = lappend($1, $3); } | part_params ',' part_elem { $$ = lappend($1, $3); }
; ;