After PageSetAllVisible, use MarkBufferDirty.

Robert Haas <rhaas@postgresql.org>

Commit: e93c0b820f03e96ae0549cd30805ae734e5d5e2f
Author: Robert Haas <rhaas@postgresql.org>
Date: 2012-04-18T14:49:37Z
Releases: 9.2.0
After PageSetAllVisible, use MarkBufferDirty.

Previously, we used SetBufferCommitInfoNeedsSave, but that's really
intended for dirty-marks we can theoretically afford to lose, such as
hint bits.  As for 9.2, the PD_ALL_VISIBLE mustn't be lost in this
way, since we could then end up with a heap page that isn't
all-visible and a visibility map page that is all visible, causing
index-only scans to return wrong answers.

Files

PathChange+/−
src/backend/commands/vacuumlazy.c modified +2 −2