Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 84bb600

Browse files
committed
Quote string literals correctly in the new CREATE SERVER statements
and binary upgrade UPDATE statements.
1 parent 71d119f commit 84bb600

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

src/bin/pg_dump/pg_dump.c

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* by PostgreSQL
1313
*
1414
* IDENTIFICATION
15-
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.534 2009/04/06 08:42:53 heikki Exp $
15+
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.535 2009/04/08 19:02:37 heikki Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -1734,8 +1734,10 @@ dumpDatabase(Archive *AH)
17341734
appendPQExpBuffer(creaQry, "\n-- For binary upgrade, set datfrozenxid.\n");
17351735
appendPQExpBuffer(creaQry, "UPDATE pg_database\n"
17361736
"SET datfrozenxid = '%u'\n"
1737-
"WHERE datname = '%s';\n",
1738-
frozenxid, datname);
1737+
"WHERE datname = ",
1738+
frozenxid);
1739+
appendStringLiteralAH(creaQry, datname, AH);
1740+
appendPQExpBuffer(creaQry, ";\n");
17391741
}
17401742

17411743
appendPQExpBuffer(delQry, "DROP DATABASE %s;\n",
@@ -9396,9 +9398,15 @@ dumpForeignServer(Archive *fout, ForeignServerInfo *srvinfo)
93969398

93979399
appendPQExpBuffer(q, "CREATE SERVER %s", fmtId(srvinfo->dobj.name));
93989400
if (srvinfo->srvtype && strlen(srvinfo->srvtype) > 0)
9399-
appendPQExpBuffer(q, " TYPE '%s'", srvinfo->srvtype);
9401+
{
9402+
appendPQExpBuffer(q, " TYPE ");
9403+
appendStringLiteralAH(q, srvinfo->srvtype, fout);
9404+
}
94009405
if (srvinfo->srvversion && strlen(srvinfo->srvversion) > 0)
9401-
appendPQExpBuffer(q, " VERSION '%s'", srvinfo->srvversion);
9406+
{
9407+
appendPQExpBuffer(q, " VERSION ");
9408+
appendStringLiteralAH(q, srvinfo->srvversion, fout);
9409+
}
94029410

94039411
appendPQExpBuffer(q, " FOREIGN DATA WRAPPER ");
94049412
appendPQExpBuffer(q, "%s", fmtId(fdwname));
@@ -9891,23 +9899,23 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
98919899
" WHERE relnamespace = "
98929900
"(SELECT oid FROM pg_namespace "
98939901
"WHERE nspname = CURRENT_SCHEMA)\n"
9894-
" AND relname = '%s'\n"
9895-
" );\n",
9902+
" AND relname = ",
98969903
tbinfo->attlen[j],
98979904
tbinfo->attalign[j],
9898-
tbinfo->attnames[j],
9899-
tbinfo->dobj.name);
9905+
tbinfo->attnames[j]);
9906+
appendStringLiteralAH(q, tbinfo->dobj.name, fout);
9907+
appendPQExpBuffer(q, "\n );\n");
99009908
}
99019909
}
99029910
appendPQExpBuffer(q, "\n-- For binary upgrade, set relfrozenxid.\n");
99039911
appendPQExpBuffer(q, "UPDATE pg_class\n"
99049912
"SET relfrozenxid = '%u'\n"
9905-
"WHERE relname = '%s'\n"
9906-
" AND relnamespace = "
9913+
"WHERE relname = ",
9914+
tbinfo->frozenxid);
9915+
appendStringLiteralAH(q, tbinfo->dobj.name, fout);
9916+
appendPQExpBuffer(q, "\n AND relnamespace = "
99079917
"(SELECT oid FROM pg_namespace "
9908-
"WHERE nspname = CURRENT_SCHEMA);\n",
9909-
tbinfo->frozenxid,
9910-
tbinfo->dobj.name);
9918+
"WHERE nspname = CURRENT_SCHEMA);\n");
99119919
}
99129920

99139921
/* Loop dumping statistics and storage statements */

src/bin/pg_dump/pg_dumpall.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1994, Regents of the University of California
77
*
88
*
9-
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.122 2009/04/06 08:42:53 heikki Exp $
9+
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.123 2009/04/08 19:02:37 heikki Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -1088,8 +1088,10 @@ dumpCreateDB(PGconn *conn)
10881088
appendPQExpBuffer(buf, "\n-- For binary upgrade, set datfrozenxid.\n");
10891089
appendPQExpBuffer(buf, "UPDATE pg_database\n"
10901090
"SET datfrozenxid = '%u'\n"
1091-
"WHERE datname = '%s';\n",
1092-
dbfrozenxid, fdbname);
1091+
"WHERE datname = ",
1092+
dbfrozenxid);
1093+
appendStringLiteralConn(buf, dbname, conn);
1094+
appendPQExpBuffer(buf, ";\n");
10931095
}
10941096
}
10951097

0 commit comments

Comments
 (0)