summaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2015-03-24 19:52:47 -0400
committerBruce Momjian <bruce@momjian.us>2015-03-24 19:52:47 -0400
commit1d8198bb44e7e7e3e96d96942f642e9964111628 (patch)
tree52753d4b3c8f1568408df02a9826856c8f6d8685 /src/backend/parser
parentfeeb526cfe33657b8aa8b0cdd45b2ef0d9898877 (diff)
Add support for ALTER TABLE IF EXISTS ... RENAME CONSTRAINT
Also add regression test. Previously this was documented to work, but didn't.
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 873ca79492d..2c4a5ccece8 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -7706,6 +7706,17 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->relation = $3;
n->subname = $6;
n->newname = $8;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_TABCONSTRAINT;
+ n->relation = $5;
+ n->subname = $8;
+ n->newname = $10;
+ n->missing_ok = true;
$$ = (Node *)n;
}
| ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name