]> granicus.if.org Git - postgresql/commitdiff
Minor tweak to avoid unnecessary memory bloat when dumping extremely wide
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Jan 2005 21:24:12 +0000 (21:24 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Jan 2005 21:24:12 +0000 (21:24 +0000)
column values in -d mode.  Per report from Marty Scholes.  This doesn't
completely solve the issue, because we still need multiple copies of the
field value, but at least one copy can be got rid of painlessly ...

src/bin/pg_dump/pg_dump.c

index 5d1859bd2139a41e47d7afc681d5aaca3c0d6b73..ce9a5b0d1605fd3e6b6db34bc653d83735dfd43e 100644 (file)
@@ -12,7 +12,7 @@
  *     by PostgreSQL
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.401 2005/01/23 00:30:26 tgl Exp $
+ *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.402 2005/01/26 21:24:12 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -985,7 +985,7 @@ dumpTableData_insert(Archive *fout, void *dcontext)
                                        appendPQExpBuffer(q, fmtId(PQfname(res, field)));
                                }
                                appendPQExpBuffer(q, ") ");
-                               archprintf(fout, "%s", q->data);
+                               archputs(q->data, fout);
                        }
                        archprintf(fout, "VALUES (");
                        for (field = 0; field < nfields; field++)
@@ -1047,7 +1047,7 @@ dumpTableData_insert(Archive *fout, void *dcontext)
                                                /* All other types are printed as string literals. */
                                                resetPQExpBuffer(q);
                                                appendStringLiteral(q, PQgetvalue(res, tuple, field), false);
-                                               archprintf(fout, "%s", q->data);
+                                               archputs(q->data, fout);
                                                break;
                                }
                        }