Fix quoting and a compiler warning in dumping partitions.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 8 Dec 2016 12:10:10 +0000 (14:10 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 8 Dec 2016 12:10:10 +0000 (14:10 +0200)
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

index b43d152e77e580f6bee0cf380a31fcba34f54ed8..7949aad3670a8d2a818a06a12a1e284f732b28b4 100644 (file)
@@ -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);
            }