From 157239d2cdad8fdc19afc13269c852dbddbe290b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 17 May 2017 21:19:14 -0400 Subject: [PATCH] pg_dump: Fix dumping of slot_name = NONE It previously wrote out slot_name = '', which was incorrect. Reported-by: Masahiko Sawada --- src/bin/pg_dump/pg_dump.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index a4479f4eda..053ae0e417 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3763,7 +3763,10 @@ getSubscriptions(Archive *fout) subinfo[i].dobj.name = pg_strdup(PQgetvalue(res, i, i_subname)); subinfo[i].rolname = pg_strdup(PQgetvalue(res, i, i_rolname)); subinfo[i].subconninfo = pg_strdup(PQgetvalue(res, i, i_subconninfo)); - subinfo[i].subslotname = pg_strdup(PQgetvalue(res, i, i_subslotname)); + if (PQgetisnull(res, i, i_subslotname)) + subinfo[i].subslotname = NULL; + else + subinfo[i].subslotname = pg_strdup(PQgetvalue(res, i, i_subslotname)); subinfo[i].subsynccommit = pg_strdup(PQgetvalue(res, i, i_subsynccommit)); subinfo[i].subpublications = @@ -3831,7 +3834,10 @@ dumpSubscription(Archive *fout, SubscriptionInfo *subinfo) } appendPQExpBuffer(query, " PUBLICATION %s WITH (connect = false, slot_name = ", publications->data); - appendStringLiteralAH(query, subinfo->subslotname, fout); + if (subinfo->subslotname) + appendStringLiteralAH(query, subinfo->subslotname, fout); + else + appendPQExpBufferStr(query, "NONE"); if (strcmp(subinfo->subsynccommit, "off") != 0) appendPQExpBuffer(query, ", synchronous_commit = %s", fmtId(subinfo->subsynccommit));