@@ -21,8 +21,6 @@ static void transfer_relfile(pageCnvCtx *pageConverter,
2121 const char * fromfile , const char * tofile ,
2222 const char * nspname , const char * relname );
2323
24- /* used by scandir(), must be global */
25- char scandir_file_pattern [MAXPGPATH ];
2624
2725/*
2826 * transfer_all_new_dbs()
@@ -134,6 +132,7 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
134132 FileNameMap * maps , int size )
135133{
136134 char old_dir [MAXPGPATH ];
135+ char file_pattern [MAXPGPATH ];
137136 struct dirent * * namelist = NULL ;
138137 int numFiles = 0 ;
139138 int mapnum ;
@@ -175,7 +174,8 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
175174 pg_log (PG_REPORT , OVERWRITE_MESSAGE , old_file );
176175
177176 /*
178- * Copy/link the relation file to the new cluster
177+ * Copy/link the relation's primary file (segment 0 of main fork)
178+ * to the new cluster
179179 */
180180 unlink (new_file );
181181 transfer_relfile (pageConverter , old_file , new_file ,
@@ -187,7 +187,7 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
187187 /*
188188 * Copy/link any fsm and vm files, if they exist
189189 */
190- snprintf (scandir_file_pattern , sizeof (scandir_file_pattern ), "%u_" ,
190+ snprintf (file_pattern , sizeof (file_pattern ), "%u_" ,
191191 maps [mapnum ].old_relfilenode );
192192
193193 for (fileno = 0 ; fileno < numFiles ; fileno ++ )
@@ -199,8 +199,8 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
199199 if (vm_offset && strlen (vm_offset ) == strlen ("_vm" ))
200200 is_vm_file = true;
201201
202- if (strncmp (namelist [fileno ]-> d_name , scandir_file_pattern ,
203- strlen (scandir_file_pattern )) == 0 &&
202+ if (strncmp (namelist [fileno ]-> d_name , file_pattern ,
203+ strlen (file_pattern )) == 0 &&
204204 (!is_vm_file || !vm_crashsafe_change ))
205205 {
206206 snprintf (old_file , sizeof (old_file ), "%s/%s" , maps [mapnum ].old_dir ,
@@ -222,13 +222,13 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
222222 * relfilenode.3, ... 'fsm' and 'vm' files use underscores so are not
223223 * copied.
224224 */
225- snprintf (scandir_file_pattern , sizeof (scandir_file_pattern ), "%u." ,
225+ snprintf (file_pattern , sizeof (file_pattern ), "%u." ,
226226 maps [mapnum ].old_relfilenode );
227227
228228 for (fileno = 0 ; fileno < numFiles ; fileno ++ )
229229 {
230- if (strncmp (namelist [fileno ]-> d_name , scandir_file_pattern ,
231- strlen (scandir_file_pattern )) == 0 )
230+ if (strncmp (namelist [fileno ]-> d_name , file_pattern ,
231+ strlen (file_pattern )) == 0 )
232232 {
233233 snprintf (old_file , sizeof (old_file ), "%s/%s" , maps [mapnum ].old_dir ,
234234 namelist [fileno ]-> d_name );
@@ -242,7 +242,6 @@ transfer_single_new_db(pageCnvCtx *pageConverter,
242242 }
243243 }
244244
245-
246245 if (numFiles > 0 )
247246 {
248247 for (fileno = 0 ; fileno < numFiles ; fileno ++ )
0 commit comments