commit 622a903cf88931878cbaba9bdd25c9835af0d055 Author: Alvaro Herrera Date: Fri Jun 26 15:33:19 2015 -0300 Fix BRIN xlog replay diff --git a/src/backend/access/brin/brin_xlog.c b/src/backend/access/brin/brin_xlog.c index 49261aa..e68f623 100644 --- a/src/backend/access/brin/brin_xlog.c +++ b/src/backend/access/brin/brin_xlog.c @@ -47,6 +47,7 @@ brin_xlog_insert_update(XLogReaderState *record, { XLogRecPtr lsn = record->EndRecPtr; Buffer buffer; + BlockNumber blkno; Page page; XLogRedoAction action; @@ -66,6 +67,8 @@ brin_xlog_insert_update(XLogReaderState *record, action = XLogReadBufferForRedo(record, 0, &buffer); } + blkno = BufferGetBlockNumber(buffer); + /* insert the index item into the page */ if (action == BLK_NEEDS_REDO) { @@ -97,7 +100,6 @@ brin_xlog_insert_update(XLogReaderState *record, if (action == BLK_NEEDS_REDO) { ItemPointerData tid; - BlockNumber blkno = BufferGetBlockNumber(buffer); ItemPointerSet(&tid, blkno, xlrec->offnum); page = (Page) BufferGetPage(buffer);