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]