]> granicus.if.org Git - postgresql/commit
Fix a couple of bugs with wal_log_hints.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 26 Jun 2015 09:38:24 +0000 (12:38 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 26 Jun 2015 09:39:22 +0000 (12:39 +0300)
commitb6c4b58ac52aa9046c45bd8c2c9fc8925087c8d3
treef8e0251f30c086028bdb203b4af995d84f79d8d9
parent8364510a463a06375d237de19dcae929e7fb8360
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.
src/backend/access/heap/heapam.c
src/backend/storage/buffer/bufmgr.c