Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit84bb600

Browse files
committed
Quote string literals correctly in the new CREATE SERVER statements
and binary upgrade UPDATE statements.
1 parent71d119f commit84bb600

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-
"WHEREdatname = '%s';\n",
1738-
frozenxid,datname);
1737+
"WHEREdatname = ",
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
"WHERErelnamespace = "
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-
"WHERErelname = '%s'\n"
9906-
"AND relnamespace = "
9913+
"WHERErelname = ",
9914+
tbinfo->frozenxid);
9915+
appendStringLiteralAH(q,tbinfo->dobj.name,fout);
9916+
appendPQExpBuffer(q,"\nAND 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-
"WHEREdatname = '%s';\n",
1092-
dbfrozenxid,fdbname);
1091+
"WHEREdatname = ",
1092+
dbfrozenxid);
1093+
appendStringLiteralConn(buf,dbname,conn);
1094+
appendPQExpBuffer(buf,";\n");
10931095
}
10941096
}
10951097

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp