From c7d65a252cdb7219deb48899fa643c5fd2cc3877 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 19 May 2020 20:09:59 -0400 Subject: [PATCH] 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). --- src/backend/parser/gram.y | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index a24b30f06f..e66b850e1a 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -595,7 +595,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); %type opt_if_not_exists %type generated_when override_kind %type PartitionSpec OptPartitionSpec -%type part_strategy %type part_elem %type part_params %type PartitionBoundSpec @@ -3894,7 +3893,7 @@ OptPartitionSpec: PartitionSpec { $$ = $1; } | /*EMPTY*/ { $$ = NULL; } ; -PartitionSpec: PARTITION BY part_strategy '(' part_params ')' +PartitionSpec: PARTITION BY ColId '(' part_params ')' { 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 { $$ = lappend($1, $3); } ;