OSDN Git Service

Remove too-smart-for-its-own-good optimization of not overwriting the output
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jan 2010 02:34:03 +0000 (02:34 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jan 2010 02:34:03 +0000 (02:34 +0000)
files when they haven't changed.  This confuses make because the build fails
to update the file timestamps, and so it keeps on doing the action over again.

src/backend/catalog/Catalog.pm
src/backend/catalog/genbki.pl

index 3b6a723..6a2c13d 100644 (file)
@@ -7,7 +7,7 @@
 # Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $PostgreSQL: pgsql/src/backend/catalog/Catalog.pm,v 1.1 2010/01/05 01:06:56 tgl Exp $
+# $PostgreSQL: pgsql/src/backend/catalog/Catalog.pm,v 1.2 2010/01/05 02:34:03 tgl Exp $
 #
 #----------------------------------------------------------------------
 
@@ -169,31 +169,12 @@ sub Catalogs
     return \%catalogs;
 }
 
-# Rename temporary files to final names, if anything has changed.
+# Rename temporary files to final names.
 # Call this function with the final file name --- we append .tmp automatically
 sub RenameTempFile
 {
     my $final_name = shift;
     my $temp_name = $final_name . '.tmp';
-    if (-e $final_name && -s $temp_name == -s $final_name)
-    {
-        open TN, '<', "$temp_name" || die "$temp_name: $!";
-        if (open FN, '<', $final_name)
-        {
-            local $/ = undef;
-            my $tn = <TN>;
-            my $fn = <FN>;
-            close FN;
-            if ($tn eq $fn)
-            {
-                print "$final_name unchanged, not replacing\n";
-                close TN;
-                unlink($temp_name) || die "unlink: $temp_name: $!";
-                return;
-            }
-        }
-        close TN;
-    }
     print "Writing $final_name\n";
     rename($temp_name, $final_name) || die "rename: $temp_name: $!";
 }
index 2020aee..e7660ce 100644 (file)
@@ -10,7 +10,7 @@
 # Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $PostgreSQL: pgsql/src/backend/catalog/genbki.pl,v 1.1 2010/01/05 01:06:56 tgl Exp $
+# $PostgreSQL: pgsql/src/backend/catalog/genbki.pl,v 1.2 2010/01/05 02:34:03 tgl Exp $
 #
 #----------------------------------------------------------------------
 
@@ -287,7 +287,7 @@ close DESCR;
 close SHDESCR;
 close SCHEMAPG;
 
-# Rename temp files on top of final files, if they have changed
+# Finally, rename the completed files into place.
 Catalog::RenameTempFile($output_path . 'postgres.bki');
 Catalog::RenameTempFile($output_path . 'postgres.description');
 Catalog::RenameTempFile($output_path . 'postgres.shdescription');