postgres.git / summary / log / commit / refs
commit 7ca32e255ba4f7e55bbdbcf0df996ac62798672b
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue Apr 08 11:47:24 2014 +0000
First released in: 9.4.0, 9.0.18, 9.1.14, 9.2.9, 9.3.5
Fix hot standby bug with GiST scans.
Don't reset the rightlink of a page when replaying a page update record.
This was a leftover from pre-hot standby days, when it was not possible to
have scans concurrent with WAL replay. Resetting the right-link was not
necessary back then either, but it was done for the sake of tidiness. But
with hot standby, it's wrong, because a concurrent scan might still need it.
Backpatch all versions with hot standby, 9.0 and above.
src/backend/access/gist/gistxlog.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/backend/access/gist/gistxlog.c b/src/backend/access/gist/gistxlog.c
index 7cc64aeb490..e12b9c66dc1 100644
--- a/src/backend/access/gist/gistxlog.c
+++ b/src/backend/access/gist/gistxlog.c
@@ -182,7 +182,6 @@ gistRedoPageUpdateRecord(XLogRecPtr lsn, XLogRecord *record)
GistPageSetLeaf(page);
}
- GistPageGetOpaque(page)->rightlink = InvalidBlockNumber;
PageSetLSN(page, lsn);
MarkBufferDirty(buffer);
UnlockReleaseBuffer(buffer);
[parent: 38a2b95c342c]