Further tweaks to stuck_on_old_timeline recovery test
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 13 Jun 2021 11:10:41 +0000 (07:10 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 13 Jun 2021 11:19:34 +0000 (07:19 -0400)
Translate path slashes on target directory path. This was confusing old
branches, but is applied to all branches for the sake of uniformity.
Perl is perfectly able to understand paths with forward slashes.

Along the way, restore the previous archive_wait query, for the sake of
uniformity with other tests, per gripe from Tom Lane.

src/test/recovery/t/025_stuck_on_old_timeline.pl

index 1eb4cae199fe09d0ae7974f5a27dc6de1a7ffa79..e4e58cb8ab968c93d0f60f8bfb282171e5dcd7c9 100644 (file)
@@ -31,6 +31,7 @@ if ($^O eq 'msys')
 }
 $perlbin =~ s!\\!/!g if $TestLib::windows_os;
 my $archivedir_primary = $node_primary->archive_dir;
+$archivedir_primary =~ s!\\!/!g if $TestLib::windows_os;
 $node_primary->append_conf('postgresql.conf', qq(
 archive_command = '"$perlbin" "$FindBin::RealBin/cp_history_files" "%p" "$archivedir_primary/%f"'
 wal_keep_size=128MB
@@ -81,8 +82,7 @@ $node_standby->safe_psql('postgres', 'SELECT pg_switch_wal()');
 # WAL segment, this is enough to guarantee that the history file was
 # archived.
 my $archive_wait_query =
-  "SELECT coalesce('$walfile_to_be_archived' <= last_archived_wal, false) " .
-  "FROM pg_stat_archiver";
+  "SELECT '$walfile_to_be_archived' <= last_archived_wal FROM pg_stat_archiver";
 $node_standby->poll_query_until('postgres', $archive_wait_query)
   or die "Timed out while waiting for WAL segment to be archived";
 my $last_archived_wal_file = $walfile_to_be_archived;