summaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorPeter Eisentraut2012-04-03 05:11:51 +0000
committerPeter Eisentraut2012-04-03 05:11:51 +0000
commit38b9693fd9847f4dcf6ff2fc469a7f2aac6385d9 (patch)
tree2c3e204e5504a6780a8d8ed37fed08b8e32fe63e /src/backend/parser
parentc2cc5c347440e48bc4d0e4ed083db2f3966a0e90 (diff)
Add support for renaming domain constraints
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y10
-rw-r--r--src/backend/parser/parse_utilcmd.c2
2 files changed, 11 insertions, 1 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 3827e2e1add..f2151ef4986 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -6529,6 +6529,16 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = false;
$$ = (Node *)n;
}
+ | ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_CONSTRAINT;
+ n->relationType = OBJECT_DOMAIN;
+ n->object = $3;
+ n->subname = $6;
+ n->newname = $8;
+ $$ = (Node *)n;
+ }
| ALTER FOREIGN DATA_P WRAPPER name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index 43f5634d16c..7c315f6c871 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -802,7 +802,7 @@ transformTableLikeClause(CreateStmtContext *cxt, TableLikeClause *table_like_cla
/* Copy comment on constraint */
if ((table_like_clause->options & CREATE_TABLE_LIKE_COMMENTS) &&
- (comment = GetComment(get_constraint_oid(RelationGetRelid(relation),
+ (comment = GetComment(get_relation_constraint_oid(RelationGetRelid(relation),
n->conname, false),
ConstraintRelationId,
0)) != NULL)