aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/heap/heapam.c15
-rw-r--r--src/backend/storage/buffer/bufmgr.c2
2 files changed, 9 insertions, 8 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index caacc105d25..208457584d9 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -7479,10 +7479,11 @@ heap_xlog_visible(XLogReaderState *record)
{
/*
* We don't bump the LSN of the heap page when setting the visibility
- * map bit (unless checksums are enabled, in which case we must),
- * because that would generate an unworkable volume of full-page
- * writes. This exposes us to torn page hazards, but since we're not
- * inspecting the existing page contents in any way, we don't care.
+ * map bit (unless checksums or wal_hint_bits is enabled, in which
+ * case we must), because that would generate an unworkable volume of
+ * full-page writes. This exposes us to torn page hazards, but since
+ * we're not inspecting the existing page contents in any way, we
+ * don't care.
*
* However, all operations that clear the visibility map bit *do* bump
* the LSN, and those operations will only be replayed if the XLOG LSN
@@ -7497,10 +7498,10 @@ heap_xlog_visible(XLogReaderState *record)
else if (action == BLK_RESTORED)
{
/*
- * If heap block was backed up, restore it. This can only happen with
- * checksums enabled.
+ * If heap block was backed up, we already restored it and there's
+ * nothing more to do. (This can only happen with checksums or
+ * wal_log_hints enabled.)
*/
- Assert(DataChecksumsEnabled());
}
if (BufferIsValid(buffer))
UnlockReleaseBuffer(buffer);
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index cc973b53a91..e4b25587e98 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -2496,7 +2496,7 @@ BufferGetLSNAtomic(Buffer buffer)
/*
* If we don't need locking for correctness, fastpath out.
*/
- if (!DataChecksumsEnabled() || BufferIsLocal(buffer))
+ if (!XLogHintBitIsNeeded() || BufferIsLocal(buffer))
return PageGetLSN(page);
/* Make sure we've got a real buffer, and that we hold a pin on it. */