]> git.ipfire.org Git - thirdparty/postgresql.git/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:27 +0000 (21:24 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 Jan 2005 21:24:27 +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 f5a392ab2bfa6f3b9ed6260daa8600715b3ff44d..d28e235e61985fb5371c18caa05aed90045d948e 100644 (file)
@@ -12,7 +12,7 @@
  *     by PostgreSQL
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.400.4.1 2005/01/23 00:31:46 tgl Exp $
+ *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.400.4.2 2005/01/26 21:24:27 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;
                                }
                        }