From bb7cc2623f242ffafae404f8ebbb331b9a7f2b68 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Mon, 18 Mar 2013 13:46:42 +0000 Subject: Remove PageSetTLI and rename pd_tli to pd_checksum Remove use of PageSetTLI() from all page manipulation functions and adjust README to indicate change in the way we make changes to pages. Repurpose those bytes into the pd_checksum field and explain how that works in comments about page header. Refactoring ahead of actual feature patch which would make use of the checksum field, arriving later. Jeff Davis, with comments and doc changes by Simon Riggs Direction suggested by Robert Haas; many others providing review comments. --- src/backend/access/gin/ginbtree.c | 6 ------ src/backend/access/gin/ginfast.c | 5 ----- src/backend/access/gin/gininsert.c | 3 --- src/backend/access/gin/ginutil.c | 1 - src/backend/access/gin/ginvacuum.c | 4 ---- src/backend/access/gin/ginxlog.c | 17 ----------------- 6 files changed, 36 deletions(-) (limited to 'src/backend/access/gin') diff --git a/src/backend/access/gin/ginbtree.c b/src/backend/access/gin/ginbtree.c index 266d76b6200..7acc8f646ec 100644 --- a/src/backend/access/gin/ginbtree.c +++ b/src/backend/access/gin/ginbtree.c @@ -308,7 +308,6 @@ ginInsertValue(GinBtree btree, GinBtreeStack *stack, GinStatsData *buildStats) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_INSERT, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } LockBuffer(stack->buffer, GIN_UNLOCK); @@ -377,11 +376,8 @@ ginInsertValue(GinBtree btree, GinBtreeStack *stack, GinStatsData *buildStats) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_SPLIT, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); PageSetLSN(lpage, recptr); - PageSetTLI(lpage, ThisTimeLineID); PageSetLSN(rpage, recptr); - PageSetTLI(rpage, ThisTimeLineID); } UnlockReleaseBuffer(rbuffer); @@ -426,9 +422,7 @@ ginInsertValue(GinBtree btree, GinBtreeStack *stack, GinStatsData *buildStats) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_SPLIT, rdata); PageSetLSN(lpage, recptr); - PageSetTLI(lpage, ThisTimeLineID); PageSetLSN(rpage, recptr); - PageSetTLI(rpage, ThisTimeLineID); } UnlockReleaseBuffer(rbuffer); END_CRIT_SECTION(); diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index 2b2508f8f77..4f2c11810a4 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -127,7 +127,6 @@ writeListPage(Relation index, Buffer buffer, recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_INSERT_LISTPAGE, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } /* get free space before releasing buffer */ @@ -408,12 +407,10 @@ ginHeapTupleFastInsert(GinState *ginstate, GinTupleCollector *collector) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_UPDATE_META_PAGE, rdata); PageSetLSN(metapage, recptr); - PageSetTLI(metapage, ThisTimeLineID); if (buffer != InvalidBuffer) { PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } } @@ -594,13 +591,11 @@ shiftList(Relation index, Buffer metabuffer, BlockNumber newHead, recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_DELETE_LISTPAGE, rdata); PageSetLSN(metapage, recptr); - PageSetTLI(metapage, ThisTimeLineID); for (i = 0; i < data.ndeleted; i++) { page = BufferGetPage(buffers[i]); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } } diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index 90627ff6ac1..beaa65317f3 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -84,7 +84,6 @@ createPostingTree(Relation index, ItemPointerData *items, uint32 nitems) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_CREATE_PTREE, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } UnlockReleaseBuffer(buffer); @@ -431,11 +430,9 @@ ginbuild(PG_FUNCTION_ARGS) page = BufferGetPage(RootBuffer); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); page = BufferGetPage(MetaBuffer); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } UnlockReleaseBuffer(MetaBuffer); diff --git a/src/backend/access/gin/ginutil.c b/src/backend/access/gin/ginutil.c index 24d671272e7..8a716810517 100644 --- a/src/backend/access/gin/ginutil.c +++ b/src/backend/access/gin/ginutil.c @@ -593,7 +593,6 @@ ginUpdateStats(Relation index, const GinStatsData *stats) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_UPDATE_META_PAGE, &rdata); PageSetLSN(metapage, recptr); - PageSetTLI(metapage, ThisTimeLineID); } UnlockReleaseBuffer(metabuffer); diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c index f619397a75f..b84d3a30de3 100644 --- a/src/backend/access/gin/ginvacuum.c +++ b/src/backend/access/gin/ginvacuum.c @@ -147,7 +147,6 @@ xlogVacuumPage(Relation index, Buffer buffer) recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_VACUUM_PAGE, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } static bool @@ -350,14 +349,11 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_DELETE_PAGE, rdata); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); PageSetLSN(parentPage, recptr); - PageSetTLI(parentPage, ThisTimeLineID); if (leftBlkno != InvalidBlockNumber) { page = BufferGetPage(lBuffer); PageSetLSN(page, recptr); - PageSetTLI(page, ThisTimeLineID); } } diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index fedbc72e9a5..5daabb0eef9 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -87,7 +87,6 @@ ginRedoCreateIndex(XLogRecPtr lsn, XLogRecord *record) GinInitMetabuffer(MetaBuffer); PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(MetaBuffer); RootBuffer = XLogReadBuffer(*node, GIN_ROOT_BLKNO, true); @@ -97,7 +96,6 @@ ginRedoCreateIndex(XLogRecPtr lsn, XLogRecord *record) GinInitBuffer(RootBuffer, GIN_LEAF); PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(RootBuffer); UnlockReleaseBuffer(RootBuffer); @@ -124,7 +122,6 @@ ginRedoCreatePTree(XLogRecPtr lsn, XLogRecord *record) GinPageGetOpaque(page)->maxoff = data->nitem; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); UnlockReleaseBuffer(buffer); @@ -242,7 +239,6 @@ ginRedoInsert(XLogRecPtr lsn, XLogRecord *record) } PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); } @@ -333,11 +329,9 @@ ginRedoSplit(XLogRecPtr lsn, XLogRecord *record) } PageSetLSN(rpage, lsn); - PageSetTLI(rpage, ThisTimeLineID); MarkBufferDirty(rbuffer); PageSetLSN(lpage, lsn); - PageSetTLI(lpage, ThisTimeLineID); MarkBufferDirty(lbuffer); if (!data->isLeaf && data->updateBlkno != InvalidBlockNumber) @@ -362,7 +356,6 @@ ginRedoSplit(XLogRecPtr lsn, XLogRecord *record) } PageSetLSN(rootPage, lsn); - PageSetTLI(rootPage, ThisTimeLineID); MarkBufferDirty(rootBuf); UnlockReleaseBuffer(rootBuf); @@ -424,7 +417,6 @@ ginRedoVacuumPage(XLogRecPtr lsn, XLogRecord *record) } PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); } @@ -453,7 +445,6 @@ ginRedoDeletePage(XLogRecPtr lsn, XLogRecord *record) Assert(GinPageIsData(page)); GinPageGetOpaque(page)->flags = GIN_DELETED; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(dbuffer); } } @@ -473,7 +464,6 @@ ginRedoDeletePage(XLogRecPtr lsn, XLogRecord *record) Assert(!GinPageIsLeaf(page)); GinPageDeletePostingItem(page, data->parentOffset); PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(pbuffer); } } @@ -492,7 +482,6 @@ ginRedoDeletePage(XLogRecPtr lsn, XLogRecord *record) Assert(GinPageIsData(page)); GinPageGetOpaque(page)->rightlink = data->rightLink; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(lbuffer); } UnlockReleaseBuffer(lbuffer); @@ -522,7 +511,6 @@ ginRedoUpdateMetapage(XLogRecPtr lsn, XLogRecord *record) { memcpy(GinPageGetMeta(metapage), &data->metadata, sizeof(GinMetaPageData)); PageSetLSN(metapage, lsn); - PageSetTLI(metapage, ThisTimeLineID); MarkBufferDirty(metabuffer); } @@ -569,7 +557,6 @@ ginRedoUpdateMetapage(XLogRecPtr lsn, XLogRecord *record) GinPageGetOpaque(page)->maxoff++; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); } UnlockReleaseBuffer(buffer); @@ -595,7 +582,6 @@ ginRedoUpdateMetapage(XLogRecPtr lsn, XLogRecord *record) GinPageGetOpaque(page)->rightlink = data->newRightlink; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); } UnlockReleaseBuffer(buffer); @@ -655,7 +641,6 @@ ginRedoInsertListPage(XLogRecPtr lsn, XLogRecord *record) } PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); UnlockReleaseBuffer(buffer); @@ -681,7 +666,6 @@ ginRedoDeleteListPages(XLogRecPtr lsn, XLogRecord *record) { memcpy(GinPageGetMeta(metapage), &data->metadata, sizeof(GinMetaPageData)); PageSetLSN(metapage, lsn); - PageSetTLI(metapage, ThisTimeLineID); MarkBufferDirty(metabuffer); } @@ -708,7 +692,6 @@ ginRedoDeleteListPages(XLogRecPtr lsn, XLogRecord *record) GinPageGetOpaque(page)->flags = GIN_DELETED; PageSetLSN(page, lsn); - PageSetTLI(page, ThisTimeLineID); MarkBufferDirty(buffer); } -- cgit v1.2.3