aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/catalog/pg_constraint.c1
-rw-r--r--src/backend/commands/tablecmds.c14
2 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c
index 6781b00c6e6..2063abb8aeb 100644
--- a/src/backend/catalog/pg_constraint.c
+++ b/src/backend/catalog/pg_constraint.c
@@ -574,6 +574,7 @@ CloneForeignKeyConstraints(Oid parentId, Oid relationId, List **cloned)
fkconstraint = makeNode(Constraint);
/* for now this is all we need */
+ fkconstraint->conname = pstrdup(NameStr(constrForm->conname));
fkconstraint->fk_upd_action = constrForm->confupdtype;
fkconstraint->fk_del_action = constrForm->confdeltype;
fkconstraint->deferrable = constrForm->condeferrable;
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index c145385f843..7df1fc2a765 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -14275,21 +14275,21 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd)
RelationGetRelid(attachrel), &cloned);
foreach(l, cloned)
{
- ClonedConstraint *cloned = lfirst(l);
+ ClonedConstraint *clonedcon = lfirst(l);
NewConstraint *newcon;
Relation clonedrel;
AlteredTableInfo *parttab;
- clonedrel = relation_open(cloned->relid, NoLock);
+ clonedrel = relation_open(clonedcon->relid, NoLock);
parttab = ATGetQueueEntry(wqueue, clonedrel);
newcon = (NewConstraint *) palloc0(sizeof(NewConstraint));
- newcon->name = cloned->constraint->conname;
+ newcon->name = clonedcon->constraint->conname;
newcon->contype = CONSTR_FOREIGN;
- newcon->refrelid = cloned->refrelid;
- newcon->refindid = cloned->conindid;
- newcon->conid = cloned->conid;
- newcon->qual = (Node *) cloned->constraint;
+ newcon->refrelid = clonedcon->refrelid;
+ newcon->refindid = clonedcon->conindid;
+ newcon->conid = clonedcon->conid;
+ newcon->qual = (Node *) clonedcon->constraint;
parttab->constraints = lappend(parttab->constraints, newcon);