]> granicus.if.org Git - postgresql/commitdiff
Remove dead checks for invalid left page in ginDeletePage.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 14 Apr 2014 12:27:32 +0000 (15:27 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 14 Apr 2014 12:27:32 +0000 (15:27 +0300)
In some places, the function assumes the left page is valid, and in others,
it checks if it is valid. Remove all the checks.

src/backend/access/gin/ginvacuum.c

index 115f2abc9e42dc811dcbe632ccf883217c91f18b..7dcc5cae4761350bc93255bc5ad3692c28a5c51d 100644 (file)
@@ -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)