]> granicus.if.org Git - postgresql/commitdiff
Get rid of useless global variable in pg_upgrade.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 18 Jul 2012 05:23:12 +0000 (01:23 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 18 Jul 2012 05:23:12 +0000 (01:23 -0400)
Since the scandir() emulation was taken out of pg_upgrade, there's
no longer any need for scandir_file_pattern to exist as a global
variable.  Replace it with a local in the one remaining function
that was making use of it.

contrib/pg_upgrade/pg_upgrade.h
contrib/pg_upgrade/relfilenode.c

index 4f74c217eed1a9688552cb9719f9e9e75b11febb..f0d84a09e291c7d3ba4ed3a05b1e4f2ee67dcaf2 100644 (file)
@@ -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 */
index 3509585de7b568af921d09443d077d7ed3b3bf47..659b61480d8f467961cb8416f6d2ece73896a9a2 100644 (file)
@@ -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++)