From 979387f1885111c72b84af535f23de4e3e913206 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 7 Apr 2026 17:38:11 +0300 Subject: [PATCH] Fix harmless leftover in _hash_kill_items() Checking for 'havePin' is sufficient here. An earlier version of the patch didn't have the 'havePin' variable and used 'so->hashso_bucket_buf == so->currPos.buf' as the condition when both locking and unlocking the page. The havePin variable was added later during development, but the unlocking condition wasn't fully updated. Tidy it up. Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/b9de8d05-3b02-4a27-9b0b-03972fa4bfd3@iki.fi --- src/backend/access/hash/hashutil.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend/access/hash/hashutil.c b/src/backend/access/hash/hashutil.c index 081adbc88a6..1d1b05f876a 100644 --- a/src/backend/access/hash/hashutil.c +++ b/src/backend/access/hash/hashutil.c @@ -625,8 +625,7 @@ _hash_kill_items(IndexScanDesc scan) } unlock_page: - if (so->hashso_bucket_buf == so->currPos.buf || - havePin) + if (havePin) LockBuffer(so->currPos.buf, BUFFER_LOCK_UNLOCK); else _hash_relbuf(rel, buf);