From 0abe9554fc793f05d5c7f18b4b6682d9f1154922 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Mon, 27 Jul 2015 18:54:09 +0300 Subject: [PATCH] Don't assume that PageIsEmpty() returns true on an all-zeros page. It does currently, and I don't see us changing that any time soon, but we don't make that assumption anywhere else. Per Tom Lane's suggestion. Backpatch to 9.2, like the previous patch that added this assumption. --- src/backend/access/spgist/spgvacuum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index 5b457f67945..7092647c039 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -656,7 +656,7 @@ spgvacuumpage(spgBulkDeleteState *bds, BlockNumber blkno) */ if (!SpGistBlockIsRoot(blkno)) { - if (PageIsEmpty(page)) + if (PageIsNew(page) || PageIsEmpty(page)) { RecordFreeIndexPage(index, blkno); bds->stats->pages_deleted++; -- GitLab