From 9abbf4727de746222ad8fc15b17348065389ae43 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Mon, 20 Mar 2017 15:55:27 -0400 Subject: [PATCH] Another fix for single-page hash index vacuum. The WAL consistency checking code needed to be updated for the new page status bit, but that didn't get done previously. Ashutosh Sharma, reviewed by Amit Kapila Discussion: http://postgr.es/m/CAA4eK1LP_oz4EfMen14OjJuzN5CqPdfRkFFuA-MfkcfeE8zGyg@mail.gmail.com --- src/backend/access/hash/hash_xlog.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/backend/access/hash/hash_xlog.c b/src/backend/access/hash/hash_xlog.c index ac82092ab2..de7522ea01 100644 --- a/src/backend/access/hash/hash_xlog.c +++ b/src/backend/access/hash/hash_xlog.c @@ -1250,8 +1250,14 @@ hash_mask(char *pagedata, BlockNumber blkno) /* * In hash bucket and overflow pages, it is possible to modify the * LP_FLAGS without emitting any WAL record. Hence, mask the line - * pointer flags. See hashgettuple() for details. + * pointer flags. See hashgettuple(), _hash_kill_items() for details. */ mask_lp_flags(page); } + + /* + * It is possible that the hint bit LH_PAGE_HAS_DEAD_TUPLES may remain + * unlogged. So, mask it. See _hash_kill_items() for details. + */ + opaque->hasho_flag &= ~LH_PAGE_HAS_DEAD_TUPLES; } -- 2.39.5