postgres.git / summary / log / commit / refs
commit d034e9b3be3f9a2a2b85a4cb67f24c246d37f117
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 e7c3e2dd752..d044f184848 100644
--- a/src/backend/access/gist/gistxlog.c
+++ b/src/backend/access/gist/gistxlog.c
@@ -253,7 +253,6 @@ gistRedoPageUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot)
*/
GistPageSetLeaf(page);
- GistPageGetOpaque(page)->rightlink = InvalidBlockNumber;
PageSetLSN(page, lsn);
PageSetTLI(page, ThisTimeLineID);
MarkBufferDirty(buffer);
[parent: 5c26ab659c9a]