aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2017-05-17 21:19:14 -0400
committerPeter Eisentraut <peter_e@gmx.net>2017-05-17 21:19:14 -0400
commit157239d2cdad8fdc19afc13269c852dbddbe290b (patch)
tree5de487bc09e536aefe194d3050fd93088410488b /src
parent62345698513cbcb3c48a6dae414abf0f24fd163a (diff)
downloadpostgresql-157239d2cdad8fdc19afc13269c852dbddbe290b.tar.gz
postgresql-157239d2cdad8fdc19afc13269c852dbddbe290b.zip
pg_dump: Fix dumping of slot_name = NONE
It previously wrote out slot_name = '', which was incorrect. Reported-by: Masahiko Sawada <sawada.mshk@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dump.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index a4479f4edac..053ae0e4171 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));