diff options
Diffstat (limited to 'src/backend/access/gin/ginxlog.c')
-rw-r--r-- | src/backend/access/gin/ginxlog.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index dbfbec73e57..f487ba5c1ad 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -606,7 +606,11 @@ ginRedoInsertListPage(XLogRecPtr lsn, XLogRecord *record) tupsize; IndexTuple tuples = (IndexTuple) (XLogRecGetData(record) + sizeof(ginxlogInsertListPage)); - /* If we have a full-page image, restore it and we're done */ + /* + * If we have a full-page image, restore it and we're done. (As the code + * stands, we never create full-page images, but we used to. Cope if + * we're reading WAL generated with an older minor version.) + */ if (record->xl_info & XLR_BKP_BLOCK(0)) { (void) RestoreBackupBlock(lsn, record, 0, false, false); @@ -640,6 +644,7 @@ ginRedoInsertListPage(XLogRecPtr lsn, XLogRecord *record) elog(ERROR, "failed to add item to index page"); tuples = (IndexTuple) (((char *) tuples) + tupsize); + off++; } PageSetLSN(page, lsn); |