Commit 056764b1 authored by Bruce Momjian's avatar Bruce Momjian

pg_upgrade: quote directory names in delete_old_cluster script

This allows the delete script to properly function when special
characters appear in directory paths, e.g. spaces.

Backpatch through 9.0
parent 866f3017
...@@ -528,7 +528,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -528,7 +528,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
#endif #endif
/* delete old cluster's default tablespace */ /* delete old cluster's default tablespace */
fprintf(script, RMDIR_CMD " %s\n", fix_path_separator(old_cluster.pgdata)); fprintf(script, RMDIR_CMD " \"%s\"\n", fix_path_separator(old_cluster.pgdata));
/* delete old cluster's alternate tablespaces */ /* delete old cluster's alternate tablespaces */
for (tblnum = 0; tblnum < os_info.num_old_tablespaces; tblnum++) for (tblnum = 0; tblnum < os_info.num_old_tablespaces; tblnum++)
...@@ -550,7 +550,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -550,7 +550,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
PATH_SEPARATOR); PATH_SEPARATOR);
for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++) for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++)
fprintf(script, RMDIR_CMD " %s%c%d\n", fprintf(script, RMDIR_CMD " \"%s%c%d\"\n",
fix_path_separator(os_info.old_tablespaces[tblnum]), fix_path_separator(os_info.old_tablespaces[tblnum]),
PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid); PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid);
} }
...@@ -562,7 +562,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -562,7 +562,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
* Simply delete the tablespace directory, which might be ".old" * Simply delete the tablespace directory, which might be ".old"
* or a version-specific subdirectory. * or a version-specific subdirectory.
*/ */
fprintf(script, RMDIR_CMD " %s%s\n", fprintf(script, RMDIR_CMD " \"%s%s\"\n",
fix_path_separator(os_info.old_tablespaces[tblnum]), fix_path_separator(os_info.old_tablespaces[tblnum]),
fix_path_separator(suffix_path)); fix_path_separator(suffix_path));
pfree(suffix_path); pfree(suffix_path);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment