Skip to content
Snippets Groups Projects
Commit 66f5217f authored by Bruce Momjian's avatar Bruce Momjian
Browse files

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 d99cf27b
No related branches found
No related tags found
No related merge requests found
...@@ -656,7 +656,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -656,7 +656,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_tablespaces; tblnum++) for (tblnum = 0; tblnum < os_info.num_tablespaces; tblnum++)
...@@ -680,7 +680,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -680,7 +680,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++) for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++)
{ {
fprintf(script, RMDIR_CMD " %s%s%c%d\n", fprintf(script, RMDIR_CMD " \"%s%s%c%d\"\n",
fix_path_separator(os_info.tablespaces[tblnum]), fix_path_separator(os_info.tablespaces[tblnum]),
fix_path_separator(old_cluster.tablespace_suffix), fix_path_separator(old_cluster.tablespace_suffix),
PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid); PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid);
...@@ -692,7 +692,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) ...@@ -692,7 +692,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.tablespaces[tblnum]), fix_path_separator(os_info.tablespaces[tblnum]),
fix_path_separator(old_cluster.tablespace_suffix)); fix_path_separator(old_cluster.tablespace_suffix));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment