aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/pg_upgrade/pg_upgrade.h1
-rw-r--r--contrib/pg_upgrade/relfilenode.c19
2 files changed, 9 insertions, 11 deletions
diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h
index 4f74c217eed..f0d84a09e29 100644
--- a/contrib/pg_upgrade/pg_upgrade.h
+++ b/contrib/pg_upgrade/pg_upgrade.h
@@ -283,7 +283,6 @@ extern UserOpts user_opts;
extern ClusterInfo old_cluster,
new_cluster;
extern OSInfo os_info;
-extern char scandir_file_pattern[];
/* check.c */
diff --git a/contrib/pg_upgrade/relfilenode.c b/contrib/pg_upgrade/relfilenode.c
index 3509585de7b..659b61480d8 100644
--- a/contrib/pg_upgrade/relfilenode.c
+++ b/contrib/pg_upgrade/relfilenode.c
@@ -21,8 +21,6 @@ static void transfer_relfile(pageCnvCtx *pageConverter,
const char *fromfile, const char *tofile,
const char *nspname, const char *relname);
-/* used by scandir(), must be global */
-char scandir_file_pattern[MAXPGPATH];
/*
* transfer_all_new_dbs()
@@ -134,6 +132,7 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
FileNameMap *maps, int size)
{
char old_dir[MAXPGPATH];
+ char file_pattern[MAXPGPATH];
struct dirent **namelist = NULL;
int numFiles = 0;
int mapnum;
@@ -175,7 +174,8 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
pg_log(PG_REPORT, OVERWRITE_MESSAGE, old_file);
/*
- * Copy/link the relation file to the new cluster
+ * Copy/link the relation's primary file (segment 0 of main fork)
+ * to the new cluster
*/
unlink(new_file);
transfer_relfile(pageConverter, old_file, new_file,
@@ -187,7 +187,7 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
/*
* Copy/link any fsm and vm files, if they exist
*/
- snprintf(scandir_file_pattern, sizeof(scandir_file_pattern), "%u_",
+ snprintf(file_pattern, sizeof(file_pattern), "%u_",
maps[mapnum].old_relfilenode);
for (fileno = 0; fileno < numFiles; fileno++)
@@ -199,8 +199,8 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
if (vm_offset && strlen(vm_offset) == strlen("_vm"))
is_vm_file = true;
- if (strncmp(namelist[fileno]->d_name, scandir_file_pattern,
- strlen(scandir_file_pattern)) == 0 &&
+ if (strncmp(namelist[fileno]->d_name, file_pattern,
+ strlen(file_pattern)) == 0 &&
(!is_vm_file || !vm_crashsafe_change))
{
snprintf(old_file, sizeof(old_file), "%s/%s", maps[mapnum].old_dir,
@@ -222,13 +222,13 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
* relfilenode.3, ... 'fsm' and 'vm' files use underscores so are not
* copied.
*/
- snprintf(scandir_file_pattern, sizeof(scandir_file_pattern), "%u.",
+ snprintf(file_pattern, sizeof(file_pattern), "%u.",
maps[mapnum].old_relfilenode);
for (fileno = 0; fileno < numFiles; fileno++)
{
- if (strncmp(namelist[fileno]->d_name, scandir_file_pattern,
- strlen(scandir_file_pattern)) == 0)
+ if (strncmp(namelist[fileno]->d_name, file_pattern,
+ strlen(file_pattern)) == 0)
{
snprintf(old_file, sizeof(old_file), "%s/%s", maps[mapnum].old_dir,
namelist[fileno]->d_name);
@@ -242,7 +242,6 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
}
}
-
if (numFiles > 0)
{
for (fileno = 0; fileno < numFiles; fileno++)