pg_dump_quote_option_name_92.patch

text/plain

Filename: pg_dump_quote_option_name_92.patch
Type: text/plain
Part: 4
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 cf0fc4b..d7a147e 100644
*** a/src/bin/pg_dump/pg_dump.c
--- b/src/bin/pg_dump/pg_dump.c
*************** getTableAttrs(TableInfo *tblinfo, int nu
*** 5626,5632 ****
  							  "CASE WHEN a.attcollation <> t.typcollation "
  							"THEN a.attcollation ELSE 0 END AS attcollation, "
  				  "array_to_string(ARRAY("
! 				  "  SELECT option_name || ' ' || quote_literal(option_value) "
  				  "  FROM pg_options_to_table(attfdwoptions)), ', ') "
  				  " AS attfdwoptions "
  			 "FROM pg_catalog.pg_attribute a LEFT JOIN pg_catalog.pg_type t "
--- 5626,5633 ----
  							  "CASE WHEN a.attcollation <> t.typcollation "
  							"THEN a.attcollation ELSE 0 END AS attcollation, "
  				  "array_to_string(ARRAY("
! 				  "  SELECT quote_ident(option_name) || ' ' || "
! 				  "         quote_literal(option_value) "
  				  "  FROM pg_options_to_table(attfdwoptions)), ', ') "
  				  " AS attfdwoptions "
  			 "FROM pg_catalog.pg_attribute a LEFT JOIN pg_catalog.pg_type t "
*************** getForeignDataWrappers(int *numForeignDa
*** 6420,6426 ****
  						  "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);
--- 6421,6428 ----
  						  "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
*** 6432,6438 ****
  						  "'-' 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);
--- 6434,6441 ----
  						  "'-' 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
*** 6519,6525 ****
  					  "(%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);
--- 6522,6529 ----
  					  "(%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,
*** 11446,11452 ****
  
  	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);
--- 11450,11456 ----
  
  	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
*** 12094,12100 ****
  			/* 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) "
--- 12098,12105 ----
  			/* 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) "