From: Heikki Linnakangas Date: Mon, 14 Apr 2014 12:27:32 +0000 (+0300) Subject: Remove dead checks for invalid left page in ginDeletePage. X-Git-Tag: REL9_4_BETA1~186 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3e6e3af560116adc20cc9d6e75bfe82a45def60;p=postgresql Remove dead checks for invalid left page in ginDeletePage. In some places, the function assumes the left page is valid, and in others, it checks if it is valid. Remove all the checks. --- diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c index 115f2abc9e..7dcc5cae47 100644 --- a/src/backend/access/gin/ginvacuum.c +++ b/src/backend/access/gin/ginvacuum.c @@ -285,8 +285,7 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn GinPageGetOpaque(page)->flags = GIN_DELETED; MarkBufferDirty(pBuffer); - if (leftBlkno != InvalidBlockNumber) - MarkBufferDirty(lBuffer); + MarkBufferDirty(lBuffer); MarkBufferDirty(dBuffer); if (RelationNeedsWAL(gvs->index)) @@ -294,7 +293,6 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn XLogRecPtr recptr; XLogRecData rdata[4]; ginxlogDeletePage data; - int n; data.node = gvs->index->rd_node; data.blkno = deleteBlkno; @@ -315,32 +313,22 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn rdata[1].len = 0; rdata[1].next = rdata + 2; - if (leftBlkno != InvalidBlockNumber) - { - rdata[2].buffer = lBuffer; - rdata[2].buffer_std = FALSE; - rdata[2].data = NULL; - rdata[2].len = 0; - rdata[2].next = rdata + 3; - n = 3; - } - else - n = 2; + rdata[2].buffer = lBuffer; + rdata[2].buffer_std = FALSE; + rdata[2].data = NULL; + rdata[2].len = 0; + rdata[2].next = rdata + 3; - rdata[n].buffer = InvalidBuffer; - rdata[n].buffer_std = FALSE; - rdata[n].len = sizeof(ginxlogDeletePage); - rdata[n].data = (char *) &data; - rdata[n].next = NULL; + rdata[3].buffer = InvalidBuffer; + rdata[3].buffer_std = FALSE; + rdata[3].len = sizeof(ginxlogDeletePage); + rdata[3].data = (char *) &data; + rdata[3].next = NULL; recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_DELETE_PAGE, rdata); PageSetLSN(page, recptr); PageSetLSN(parentPage, recptr); - if (leftBlkno != InvalidBlockNumber) - { - page = BufferGetPage(lBuffer); - PageSetLSN(page, recptr); - } + PageSetLSN(BufferGetPage(lBuffer), recptr); } if (!isParentRoot)