Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit e3e6e3a

Browse files
committed
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.
1 parent 1bd3842 commit e3e6e3a

File tree

1 file changed

+12
-24
lines changed

1 file changed

+12
-24
lines changed

src/backend/access/gin/ginvacuum.c

+12-24
Original file line numberDiff line numberDiff line change
@@ -285,16 +285,14 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn
285285
GinPageGetOpaque(page)->flags = GIN_DELETED;
286286

287287
MarkBufferDirty(pBuffer);
288-
if (leftBlkno != InvalidBlockNumber)
289-
MarkBufferDirty(lBuffer);
288+
MarkBufferDirty(lBuffer);
290289
MarkBufferDirty(dBuffer);
291290

292291
if (RelationNeedsWAL(gvs->index))
293292
{
294293
XLogRecPtr recptr;
295294
XLogRecData rdata[4];
296295
ginxlogDeletePage data;
297-
int n;
298296

299297
data.node = gvs->index->rd_node;
300298
data.blkno = deleteBlkno;
@@ -315,32 +313,22 @@ ginDeletePage(GinVacuumState *gvs, BlockNumber deleteBlkno, BlockNumber leftBlkn
315313
rdata[1].len = 0;
316314
rdata[1].next = rdata + 2;
317315

318-
if (leftBlkno != InvalidBlockNumber)
319-
{
320-
rdata[2].buffer = lBuffer;
321-
rdata[2].buffer_std = FALSE;
322-
rdata[2].data = NULL;
323-
rdata[2].len = 0;
324-
rdata[2].next = rdata + 3;
325-
n = 3;
326-
}
327-
else
328-
n = 2;
316+
rdata[2].buffer = lBuffer;
317+
rdata[2].buffer_std = FALSE;
318+
rdata[2].data = NULL;
319+
rdata[2].len = 0;
320+
rdata[2].next = rdata + 3;
329321

330-
rdata[n].buffer = InvalidBuffer;
331-
rdata[n].buffer_std = FALSE;
332-
rdata[n].len = sizeof(ginxlogDeletePage);
333-
rdata[n].data = (char *) &data;
334-
rdata[n].next = NULL;
322+
rdata[3].buffer = InvalidBuffer;
323+
rdata[3].buffer_std = FALSE;
324+
rdata[3].len = sizeof(ginxlogDeletePage);
325+
rdata[3].data = (char *) &data;
326+
rdata[3].next = NULL;
335327

336328
recptr = XLogInsert(RM_GIN_ID, XLOG_GIN_DELETE_PAGE, rdata);
337329
PageSetLSN(page, recptr);
338330
PageSetLSN(parentPage, recptr);
339-
if (leftBlkno != InvalidBlockNumber)
340-
{
341-
page = BufferGetPage(lBuffer);
342-
PageSetLSN(page, recptr);
343-
}
331+
PageSetLSN(BufferGetPage(lBuffer), recptr);
344332
}
345333

346334
if (!isParentRoot)

0 commit comments

Comments
 (0)