From 7fd2f1ee7400994de4387eea11478fff8c2270e3 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 24 Sep 2026 12:10:00 +0200 Subject: [PATCH 1/3] pgindent: Don't leave a .BAK file behind when pg_bsd_indent fails run_indent() returned early when pg_bsd_indent reported an error, before unlinking the .BAK file that pg_bsd_indent writes. The existing END block cleaned up only the most recent one, but if pg_bsd_indent fails on many files, it littered the current directory with pgsrc*.BAK files. To fix, remove the backup file after the pg_bsd_indent run whether or not the run succeeded. --- src/tools/pgindent/pgindent | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent index eea6c0ad734..d25f547e289 100755 --- a/src/tools/pgindent/pgindent +++ b/src/tools/pgindent/pgindent @@ -373,12 +373,15 @@ sub run_indent $bak_to_cleanup = "$filename.BAK"; $$error_message = `$cmd $filename 2>&1`; + my $rc = $?; - return "" if ($? || length($$error_message) > 0); - + # pg_bsd_indent leaves its .BAK file behind whether or not it succeeded, + # so get rid of it before looking at the result. unlink $bak_to_cleanup; $bak_to_cleanup = undef; + return "" if ($rc || length($$error_message) > 0); + open(my $src_out, '<', $filename) || die $!; local ($/) = undef; $source = <$src_out>; base-commit: 4545cee303c257e58195e3d033c05bf38e2cd4d6 -- 2.55.0