Further tweaks to stuck_on_old_timeline recovery test
authorAndrew Dunstan <[email protected]>
Sun, 13 Jun 2021 11:10:41 +0000 (07:10 -0400)
committerAndrew Dunstan <[email protected]>
Sun, 13 Jun 2021 11:19:40 +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 d4a03246b867b139c42d91ac86bb483c14fc3305..298066dba0961562ce8bd4cb688a11a4b0657d6f 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_segments=8
@@ -92,8 +93,7 @@ $node_standby->safe_psql('postgres', 'SELECT pg_switch_xlog()');
 # 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;