From 7250d8535b11d6443a9b27299e586c3df0654302 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Fri, 7 Nov 2014 23:04:53 +0200 Subject: [PATCH] Fix building with WAL_DEBUG. Now that the backup blocks are appended to the WAL record in xloginsert.c, XLogInsert doesn't see them anymore and cannot remove them from the version reconstructed for xlog_outdesc. This makes running with wal_debug=on more expensive, as we now make (unnecessary) temporary copies of the backup blocks, but it doesn't seem worth convoluting the code to keep that optimization. Reported by Alvaro Herrera. --- src/backend/access/transam/xlog.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 563d442a7a3..99f702cb804 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -1067,11 +1067,8 @@ XLogInsertRecord(XLogRecData *rdata, XLogRecPtr fpw_lsn) /* * We have to piece together the WAL record data from the * XLogRecData entries, so that we can pass it to the rm_desc - * function as one contiguous chunk. (but we can leave out any - * extra entries we created for backup blocks) + * function as one contiguous chunk. */ - rdt_lastnormal->next = NULL; - initStringInfo(&recordbuf); appendBinaryStringInfo(&recordbuf, (char *) rechdr, sizeof(XLogRecord)); for (; rdata != NULL; rdata = rdata->next)