summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas2017-03-20 19:55:27 +0000
committerRobert Haas2017-03-20 19:55:27 +0000
commit9abbf4727de746222ad8fc15b17348065389ae43 (patch)
tree08575583e6c5d22a931945a4086489ef0e312e58
parent953477ca3526e28f9aeeb41d23b16eed0084c7d2 (diff)
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
-rw-r--r--src/backend/access/hash/hash_xlog.c8
1 files changed, 7 insertions, 1 deletions
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;
}