]> granicus.if.org Git - postgresql/commitdiff
dumpUserConfig failed (in a pretty harmless way, but failed nonetheless)
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Aug 2005 16:31:37 +0000 (16:31 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Aug 2005 16:31:37 +0000 (16:31 +0000)
to cope with a group name when dumping from a pre-8.1 installation.
Per report from Stefan Kaltenbrunner.

src/bin/pg_dump/pg_dumpall.c

index 28032c47b934c30f2acd7c3896d030dba4ece882..92ca0143b05e0652761983980d45dc79c2057583 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.66 2005/07/31 17:19:19 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.67 2005/08/28 16:31:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -928,10 +928,10 @@ dumpUserConfig(PGconn *conn, const char *username)
                else
                        printfPQExpBuffer(buf, "SELECT useconfig[%d] FROM pg_shadow WHERE usename = ", count);
                appendStringLiteral(buf, username, true);
-               appendPQExpBuffer(buf, ";");
 
                res = executeQuery(conn, buf->data);
-               if (!PQgetisnull(res, 0, 0))
+               if (PQntuples(res) == 1 &&
+                       !PQgetisnull(res, 0, 0))
                {
                        makeAlterConfigCommand(PQgetvalue(res, 0, 0), "ROLE", username);
                        PQclear(res);