summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-07-27 18:54:09 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-07-27 18:54:27 +0300
commit9c88e06b5a24341e0e82fbab7b02de271adf1f47 (patch)
treeb068c8cdf968f9c5470ecf44f46cfc8c291626a5
parent03a0a3532b47b2a634cd2700d49edc086af748a0 (diff)
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.
-rw-r--r--src/backend/access/spgist/spgvacuum.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c
index d40da0eecca..06c0b0af7ee 100644
--- a/src/backend/access/spgist/spgvacuum.c
+++ b/src/backend/access/spgist/spgvacuum.c
@@ -655,7 +655,7 @@ spgvacuumpage(spgBulkDeleteState *bds, BlockNumber blkno)
*/
if (!SpGistBlockIsRoot(blkno))
{
- if (PageIsEmpty(page))
+ if (PageIsNew(page) || PageIsEmpty(page))
{
RecordFreeIndexPage(index, blkno);
bds->stats->pages_deleted++;