aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2019-04-03 15:32:53 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2019-04-03 15:35:54 -0300
commit5f6fc34af5712995026267b9ace79d06b258a0ae (patch)
tree74613e0804198ea715397e2382975cf8734982d9
parentf56f8f8da6afd8523b4d5284e02a20ed2b33ef8d (diff)
downloadpostgresql-5f6fc34af5712995026267b9ace79d06b258a0ae.tar.gz
postgresql-5f6fc34af5712995026267b9ace79d06b258a0ae.zip
Copy name when cloning FKs recurses to partitions
We were passing a string owned by a syscache entry, which was released before recursing. Fix by pstrdup'ing the string. Per buildfarm member prion.
-rw-r--r--src/backend/commands/tablecmds.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 978b6bec44a..58eb7e1d8e8 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8619,7 +8619,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel)
"fkey",
RelationGetNamespace(partRel), NIL);
else
- fkconstraint->conname = NameStr(constrForm->conname);
+ fkconstraint->conname = pstrdup(NameStr(constrForm->conname));
fkconstraint->fk_upd_action = constrForm->confupdtype;
fkconstraint->fk_del_action = constrForm->confdeltype;
fkconstraint->deferrable = constrForm->condeferrable;