Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit de63218

Browse files
committed
Properly quote SQL/MED generic options in pg_dump output.
Shigeru Hanada
1 parent e1f0820 commit de63218

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/bin/pg_dump/pg_dump.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6369,7 +6369,8 @@ getForeignDataWrappers(int *numForeignDataWrappers)
63696369
"fdwhandler::pg_catalog.regproc, "
63706370
"fdwvalidator::pg_catalog.regproc, fdwacl, "
63716371
"array_to_string(ARRAY("
6372-
" SELECT option_name || ' ' || quote_literal(option_value) "
6372+
" SELECT quote_ident(option_name) || ' ' || "
6373+
" quote_literal(option_value) "
63736374
" FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
63746375
"FROM pg_foreign_data_wrapper",
63756376
username_subquery);
@@ -6381,7 +6382,8 @@ getForeignDataWrappers(int *numForeignDataWrappers)
63816382
"'-' AS fdwhandler, "
63826383
"fdwvalidator::pg_catalog.regproc, fdwacl, "
63836384
"array_to_string(ARRAY("
6384-
" SELECT option_name || ' ' || quote_literal(option_value) "
6385+
" SELECT quote_ident(option_name) || ' ' || "
6386+
" quote_literal(option_value) "
63856387
" FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
63866388
"FROM pg_foreign_data_wrapper",
63876389
username_subquery);
@@ -6468,7 +6470,8 @@ getForeignServers(int *numForeignServers)
64686470
"(%s srvowner) AS rolname, "
64696471
"srvfdw, srvtype, srvversion, srvacl,"
64706472
"array_to_string(ARRAY("
6471-
" SELECT option_name || ' ' || quote_literal(option_value) "
6473+
" SELECT quote_ident(option_name) || ' ' || "
6474+
" quote_literal(option_value) "
64726475
" FROM pg_options_to_table(srvoptions)), ', ') AS srvoptions "
64736476
"FROM pg_foreign_server",
64746477
username_subquery);
@@ -11395,7 +11398,7 @@ dumpUserMappings(Archive *fout,
1139511398

1139611399
appendPQExpBuffer(query,
1139711400
"SELECT usename, "
11398-
"array_to_string(ARRAY(SELECT option_name || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
11401+
"array_to_string(ARRAY(SELECT quote_ident(option_name) || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
1139911402
"FROM pg_user_mappings "
1140011403
"WHERE srvid = %u",
1140111404
catalogId.oid);
@@ -12043,7 +12046,8 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
1204312046
/* retrieve name of foreign server and generic options */
1204412047
appendPQExpBuffer(query,
1204512048
"SELECT fs.srvname, array_to_string(ARRAY("
12046-
" SELECT option_name || ' ' || quote_literal(option_value)"
12049+
" SELECT quote_ident(option_name) || ' ' || "
12050+
" quote_literal(option_value)"
1204712051
" FROM pg_options_to_table(ftoptions)), ', ') AS ftoptions "
1204812052
"FROM pg_foreign_table ft JOIN pg_foreign_server fs "
1204912053
" ON (fs.oid = ft.ftserver) "

0 commit comments

Comments
 (0)