Remove too-smart-for-its-own-good optimization of not overwriting the output

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.
This commit is contained in:
Tom Lane 2010-01-05 02:34:03 +00:00
parent c3a1eae252
commit 9d781b55f4
2 changed files with 4 additions and 23 deletions

View 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: $!";
}

View 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');