postgres.git / summary / log / commit / refs

commit    c4325cefba512772efc108baf8ef7182c3833716
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Thu Jun 11 06:21:24 2020 +0000
First released in: 14.0

    Fold AlterForeignTableStmt into AlterTableStmt
    
    All other relation types are handled by AlterTableStmt, so it's
    unnecessary to make a different statement for foreign tables.
    
    Discussion: https://www.postgresql.org/message-id/flat/163c00a5-f634-ca52-fc7c-0e53deda8735%402ndquadrant.com


src/backend/parser/gram.y | 53 +++++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 9ed640c379b..6797d550cd0 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -259,7 +259,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); AlterFdwStmt AlterForeignServerStmt AlterGroupStmt AlterObjectDependsStmt AlterObjectSchemaStmt AlterOwnerStmt AlterOperatorStmt AlterTypeStmt AlterSeqStmt AlterSystemStmt AlterTableStmt - AlterTblSpcStmt AlterExtensionStmt AlterExtensionContentsStmt AlterForeignTableStmt + AlterTblSpcStmt AlterExtensionStmt AlterExtensionContentsStmt AlterCompositeTypeStmt AlterUserMappingStmt AlterRoleStmt AlterRoleSetStmt AlterPolicyStmt AlterStatsStmt AlterDefaultPrivilegesStmt DefACLAction @@ -850,7 +850,6 @@ stmt : | AlterExtensionContentsStmt | AlterFdwStmt | AlterForeignServerStmt - | AlterForeignTableStmt | AlterFunctionStmt | AlterGroupStmt | AlterObjectDependsStmt @@ -1836,9 +1835,9 @@ DiscardStmt: /***************************************************************************** * - * ALTER [ TABLE | INDEX | SEQUENCE | VIEW | MATERIALIZED VIEW ] variations + * ALTER [ TABLE | INDEX | SEQUENCE | VIEW | MATERIALIZED VIEW | FOREIGN TABLE ] variations * - * Note: we accept all subcommands for each of the five variants, and sort + * Note: we accept all subcommands for each of the variants, and sort * out what's really legal at execution time. *****************************************************************************/ @@ -2026,6 +2025,24 @@ AlterTableStmt: n->nowait = $14; $$ = (Node *)n; } + | ALTER FOREIGN TABLE relation_expr alter_table_cmds + { + AlterTableStmt *n = makeNode(AlterTableStmt); + n->relation = $4; + n->cmds = $5; + n->relkind = OBJECT_FOREIGN_TABLE; + n->missing_ok = false; + $$ = (Node *)n; + } + | ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds + { + AlterTableStmt *n = makeNode(AlterTableStmt); + n->relation = $6; + n->cmds = $7; + n->relkind = OBJECT_FOREIGN_TABLE; + n->missing_ok = true; + $$ = (Node *)n; + } ; alter_table_cmds: @@ -5111,34 +5128,6 @@ CreateForeignTableStmt: } ; -/***************************************************************************** - * - * QUERY: - * ALTER FOREIGN TABLE relname [...] - * - *****************************************************************************/ - -AlterForeignTableStmt: - ALTER FOREIGN TABLE relation_expr alter_table_cmds - { - AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = $4; - n->cmds = $5; - n->relkind = OBJECT_FOREIGN_TABLE; - n->missing_ok = false; - $$ = (Node *)n; - } - | ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds - { - AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = $6; - n->cmds = $7; - n->relkind = OBJECT_FOREIGN_TABLE; - n->missing_ok = true; - $$ = (Node *)n; - } - ; - /***************************************************************************** * * QUERY: [parent: c2bd1fec32ab]