aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2017-03-03 10:47:04 -0500
committerPeter Eisentraut <peter_e@gmx.net>2017-03-03 10:47:04 -0500
commit6da9759a03d6d985c3b95a3177bbda7bcffd0ae6 (patch)
treec519af3041ba6af4d54b15689351fa798d167676 /src/backend/parser
parent713f7c47d9c38654adbc36c47fd9e439f0d1f715 (diff)
downloadpostgresql-6da9759a03d6d985c3b95a3177bbda7bcffd0ae6.tar.gz
postgresql-6da9759a03d6d985c3b95a3177bbda7bcffd0ae6.zip
Add RENAME support for PUBLICATIONs and SUBSCRIPTIONs
From: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index e833b2eba5a..9713b442232 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -8151,6 +8151,15 @@ RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER PUBLICATION name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_PUBLICATION;
+ n->object = list_make1(makeString($3));
+ n->newname = $6;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
| ALTER SCHEMA name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
@@ -8169,6 +8178,15 @@ RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name
n->missing_ok = false;
$$ = (Node *)n;
}
+ | ALTER SUBSCRIPTION name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_SUBSCRIPTION;
+ n->object = list_make1(makeString($3));
+ n->newname = $6;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
| ALTER TABLE relation_expr RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);