Fix a couple of bugs with wal_log_hints.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: b6c4b58ac52aa9046c45bd8c2c9fc8925087c8d3
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2015-06-26T09:39:22Z
Releases: 9.4.5
Fix a couple of bugs with wal_log_hints.

1. Replay of the WAL record for setting a bit in the visibility map
contained an assertion that a full-page image of that record type can only
occur with checksums enabled. But it can also happen with wal_log_hints, so
remove the assertion. Unlike checksums, wal_log_hints can be changed on the
fly, so it would be complicated to figure out if it was enabled at the time
that the WAL record was generated.

2. wal_log_hints has the same effect on the locking needed to read the LSN
of a page as data checksums. BufferGetLSNAtomic() didn't get the memo.

Backpatch to 9.4, where wal_log_hints was added.

Files

PathChange+/−
src/backend/access/heap/heapam.c modified +7 −8
src/backend/storage/buffer/bufmgr.c modified +1 −1