mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
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:
parent
c3a1eae252
commit
9d781b55f4
@ -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: $!";
|
||||
}
|
||||
|
@ -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');
|
||||
|
Loading…
Reference in New Issue
Block a user