From 364b5736c6145cafd524784774444c83ef01e6b7 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 11 Mar 2019 16:58:10 +0200 Subject: [PATCH 6/6] Misc cleanup v22 --- src/backend/access/gist/gistvacuum.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/backend/access/gist/gistvacuum.c b/src/backend/access/gist/gistvacuum.c index f530369f4e..e2b37cfc2d 100644 --- a/src/backend/access/gist/gistvacuum.c +++ b/src/backend/access/gist/gistvacuum.c @@ -474,7 +474,7 @@ gistvacuum_recycle_pages(GistBulkDeleteResult *stats) Buffer buffer; Page page; OffsetNumber off, - maxoff; + maxoff; IndexTuple idxtuple; ItemId iid; OffsetNumber todelete[MaxOffsetNumber]; @@ -488,6 +488,8 @@ gistvacuum_recycle_pages(GistBulkDeleteResult *stats) page = (Page) BufferGetPage(buffer); if (PageIsNew(page) || GistPageIsDeleted(page) || GistPageIsLeaf(page)) { + /* HEIKKI: This page was an internal page earlier, but now it's something else. + * Shouldn't happen... */ UnlockReleaseBuffer(buffer); continue; } @@ -498,11 +500,12 @@ gistvacuum_recycle_pages(GistBulkDeleteResult *stats) off <= maxoff && ntodelete < maxoff-1; off = OffsetNumberNext(off)) { - Buffer leafBuffer; BlockNumber leafBlockNo; + Buffer leafBuffer; iid = PageGetItemId(page, off); idxtuple = (IndexTuple) PageGetItem(page, iid); + /* if this page was not empty in previous scan - we do not consider it */ leafBlockNo = ItemPointerGetBlockNumber(&(idxtuple->t_tid)); if (!blockset_get(leafBlockNo, stats->emptyLeafPagesMap)) -- 2.20.1