Fix a couple of bugs with wal_log_hints.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 4b8e24b9ad308c30dbe2184e06848e638e018114
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2015-06-26T09:38:24Z
Releases: 9.5.0
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 +8 −7
src/backend/storage/buffer/bufmgr.c modified +1 −1