pg_dump_quote_option_name_91.patch

text/plain

Filename: pg_dump_quote_option_name_91.patch
Type: text/plain
Part: 3
Message: Re: Change format of FDW options used in \d* commands
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 9e69b0f..9a0923f 100644
*** a/src/bin/pg_dump/pg_dump.c
--- b/src/bin/pg_dump/pg_dump.c
*************** getForeignDataWrappers(int *numForeignDa
*** 6369,6375 ****
  						  "fdwhandler::pg_catalog.regproc, "
  						  "fdwvalidator::pg_catalog.regproc, fdwacl, "
  						  "array_to_string(ARRAY("
! 						  "		SELECT option_name || ' ' || quote_literal(option_value) "
  						  "		FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
  						  "FROM pg_foreign_data_wrapper",
  						  username_subquery);
--- 6369,6376 ----
  						  "fdwhandler::pg_catalog.regproc, "
  						  "fdwvalidator::pg_catalog.regproc, fdwacl, "
  						  "array_to_string(ARRAY("
! 						  "		SELECT quote_ident(option_name) || ' ' || "
! 						  "            quote_literal(option_value) "
  						  "		FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
  						  "FROM pg_foreign_data_wrapper",
  						  username_subquery);
*************** getForeignDataWrappers(int *numForeignDa
*** 6381,6387 ****
  						  "'-' AS fdwhandler, "
  						  "fdwvalidator::pg_catalog.regproc, fdwacl, "
  						  "array_to_string(ARRAY("
! 						  "		SELECT option_name || ' ' || quote_literal(option_value) "
  						  "		FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
  						  "FROM pg_foreign_data_wrapper",
  						  username_subquery);
--- 6382,6389 ----
  						  "'-' AS fdwhandler, "
  						  "fdwvalidator::pg_catalog.regproc, fdwacl, "
  						  "array_to_string(ARRAY("
! 						  "		SELECT quote_ident(option_name) || ' ' || "
! 						  "            quote_literal(option_value) "
  						  "		FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
  						  "FROM pg_foreign_data_wrapper",
  						  username_subquery);
*************** getForeignServers(int *numForeignServers
*** 6468,6474 ****
  					  "(%s srvowner) AS rolname, "
  					  "srvfdw, srvtype, srvversion, srvacl,"
  					  "array_to_string(ARRAY("
! 		 "		SELECT option_name || ' ' || quote_literal(option_value) "
  	   "		FROM pg_options_to_table(srvoptions)), ', ') AS srvoptions "
  					  "FROM pg_foreign_server",
  					  username_subquery);
--- 6470,6477 ----
  					  "(%s srvowner) AS rolname, "
  					  "srvfdw, srvtype, srvversion, srvacl,"
  					  "array_to_string(ARRAY("
! 		 "		SELECT quote_ident(option_name) || ' ' || "
! 		 "             quote_literal(option_value) "
  	   "		FROM pg_options_to_table(srvoptions)), ', ') AS srvoptions "
  					  "FROM pg_foreign_server",
  					  username_subquery);
*************** dumpUserMappings(Archive *fout,
*** 11395,11401 ****
  
  	appendPQExpBuffer(query,
  					  "SELECT usename, "
! 					  "array_to_string(ARRAY(SELECT option_name || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
  					  "FROM pg_user_mappings "
  					  "WHERE srvid = %u",
  					  catalogId.oid);
--- 11398,11404 ----
  
  	appendPQExpBuffer(query,
  					  "SELECT usename, "
! 					  "array_to_string(ARRAY(SELECT quote_ident(option_name) || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
  					  "FROM pg_user_mappings "
  					  "WHERE srvid = %u",
  					  catalogId.oid);
*************** dumpTableSchema(Archive *fout, TableInfo
*** 12043,12049 ****
  			/* retrieve name of foreign server and generic options */
  			appendPQExpBuffer(query,
  							  "SELECT fs.srvname, array_to_string(ARRAY("
! 				"   SELECT option_name || ' ' || quote_literal(option_value)"
  			   "   FROM pg_options_to_table(ftoptions)), ', ') AS ftoptions "
  						"FROM pg_foreign_table ft JOIN pg_foreign_server fs "
  							  "	ON (fs.oid = ft.ftserver) "
--- 12046,12053 ----
  			/* retrieve name of foreign server and generic options */
  			appendPQExpBuffer(query,
  							  "SELECT fs.srvname, array_to_string(ARRAY("
! 				"   SELECT quote_ident(option_name) || ' ' || "
! 				"          quote_literal(option_value)"
  			   "   FROM pg_options_to_table(ftoptions)), ', ') AS ftoptions "
  						"FROM pg_foreign_table ft JOIN pg_foreign_server fs "
  							  "	ON (fs.oid = ft.ftserver) "