From 2560d244b4c9fc08f1d076b3c40913bec5f7e31f Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 8 Dec 2016 14:10:10 +0200 Subject: [PATCH] Fix quoting and a compiler warning in dumping partitions. Partition name needs to be quoted in the ATTACH PARTITION command constructed in binary-upgrade mode. Silence compiler warning about set but unused variable, without --enable-cassert. --- src/bin/pg_dump/pg_dump.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index b43d152e77..7949aad367 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -7022,8 +7022,7 @@ void getTablePartitionKeyInfo(Archive *fout, TableInfo *tblinfo, int numTables) { PQExpBuffer q = createPQExpBuffer(); - int i, - ntups; + int i; PGresult *res; /* No partitioned tables before 10 */ @@ -7046,8 +7045,7 @@ getTablePartitionKeyInfo(Archive *fout, TableInfo *tblinfo, int numTables) appendPQExpBuffer(q, "SELECT pg_catalog.pg_get_partkeydef('%u'::pg_catalog.oid)", tbinfo->dobj.catId.oid); res = ExecuteSqlQuery(fout, q->data, PGRES_TUPLES_OK); - ntups = PQntuples(res); - Assert(ntups == 1); + Assert(PQntuples(res) == 1); tbinfo->partkeydef = pg_strdup(PQgetvalue(res, 0, 0)); } } @@ -14639,9 +14637,10 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo) if (tbinfo->partitionOf) { appendPQExpBufferStr(q, "\n-- For binary upgrade, set up partitions this way.\n"); - appendPQExpBuffer(q, "ALTER TABLE ONLY %s ATTACH PARTITION %s %s;\n", - fmtId(tbinfo->partitionOf->dobj.name), - tbinfo->dobj.name, + appendPQExpBuffer(q, "ALTER TABLE ONLY %s ", + fmtId(tbinfo->partitionOf->dobj.name)); + appendPQExpBuffer(q, "ATTACH PARTITION %s %s;\n", + fmtId(tbinfo->dobj.name), tbinfo->partitiondef); }