Re: [REVIEW] In-core regression tests for replication, cascading, archiving, PITR, etc.
Craig Ringer <craig@2ndquadrant.com>
From: Craig Ringer <craig@2ndquadrant.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Victor Wagner <vitus@wagner.pp.ru>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2016-02-26T07:06:10Z
Lists: pgsql-hackers
On 26 February 2016 at 13:43, Michael Paquier <michael.paquier@gmail.com>
wrote:
> > my $caughtup_query = "SELECT '$current_lsn'::pg_lsn <=
> > pg_last_xlog_replay_location()";
> > use
> > my $caughtup_query = "SELECT pg_xlog_location_diff('$current_lsn',
> > pg_last_xlog_replay_location()) <= 0";
> > so it doesn't care if we replay past the expected LSN on the master due
> to
> > autovacuum activity. That's what's done in the real world and what
> should be
> > covered by the tests IMO.
>
> Those two statements have the same meaning. pg_xlog_location_diff does
> exactly the same thing as the pg_lsn data type in terms of LSN
> comparisons.
Ah. Whoops. I meant to write '=' in the first, to reflect what the code
does.
You're quite right that casting to pg_lsn has the same effect and looks
cleaner.
I think this looks good as of the last version. I'm not keen on disabling
autovacuum but that can be addressed in a followup that makes it easier to
configure params, as discussed. I definitely don't want to complicate this
patch with it.
Should be committed ASAP IMO.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Add a test framework for recovery
- 49148645f7f3 9.6.0 landed
-
Refactor Perl test code
- 1caef31d9e55 9.6.0 cited
-
pgindent run for 9.5
- 807b9e0dff66 9.5.0 cited