Fix pg_dump support for security labels on columns.
authorRobert Haas <rhaas@postgresql.org>
Sat, 1 Jan 2011 22:43:37 +0000 (17:43 -0500)
committerRobert Haas <rhaas@postgresql.org>
Sat, 1 Jan 2011 22:44:28 +0000 (17:44 -0500)
Along the way, correct an erroneous comment.

src/bin/pg_dump/pg_dump.c

index b35a5457f946cb6ed761e68ac2a4195e17fd975c..08288e871a95b0b24ae6ad4e24181e0d60638913 100644 (file)
@@ -10730,7 +10730,7 @@ dumpTableSecLabel(Archive *fout, TableInfo *tbinfo, const char *reltypename)
                            tbinfo->dobj.catId.oid,
                            &labels);
 
-   /* If comments exist, build SECURITY LABEL statements */
+   /* If security labels exist, build SECURITY LABEL statements */
    if (nlabels <= 0)
        return;
 
@@ -10753,9 +10753,9 @@ dumpTableSecLabel(Archive *fout, TableInfo *tbinfo, const char *reltypename)
        else
        {
            colname = getAttrName(objsubid, tbinfo);
-           appendPQExpBuffer(target, "COLUMN %s.%s",
-                             fmtId(tbinfo->dobj.name),
-                             fmtId(colname));
+           /* first fmtId result must be consumed before calling it again */
+           appendPQExpBuffer(target, "COLUMN %s", fmtId(tbinfo->dobj.name));
+           appendPQExpBuffer(target, ".%s", fmtId(colname));
        }
        appendPQExpBuffer(query, "SECURITY LABEL FOR %s ON %s IS ",
                          fmtId(provider), target->data);