]> granicus.if.org Git - postgresql/commit
Fix pg_xlogdump so that it handles cross-page XLP_FIRST_IS_CONTRECORD record.
authorFujii Masao <fujii@postgresql.org>
Mon, 29 Aug 2016 05:34:58 +0000 (14:34 +0900)
committerFujii Masao <fujii@postgresql.org>
Mon, 29 Aug 2016 05:34:58 +0000 (14:34 +0900)
commitbab7823a49bb210b8920ae59e5126d27e4d63833
treef7c6f67e6894bfa78d9265c04fca956a1f2bd015
parentb899ccbb49cbcf8431b3af43fcf3faf91e6a28c6
Fix pg_xlogdump so that it handles cross-page XLP_FIRST_IS_CONTRECORD record.

Previously pg_xlogdump failed to dump the contents of the WAL file
if the file starts with the continuation WAL record which spans
more than one pages. Since pg_xlogdump assumed that the continuation
record always fits on a page, it could not find the valid WAL record to
start reading from in that case.

This patch changes pg_xlogdump so that it can handle a continuation
WAL record which crosses a page boundary and find the valid record
to start reading from.

Back-patch to 9.3 where pg_xlogdump was introduced.

Author: Pavan Deolasee
Reviewed-By: Michael Paquier and Craig Ringer
Discussion: CABOikdPsPByMiG6J01DKq6om2+BNkxHTPkOyqHM2a4oYwGKsqQ@mail.gmail.com
src/backend/access/transam/xlogreader.c