Thread

  1. [PATCH v1] Fix PrivateRefCount hash table key size

    Bertrand Drouvot <bertranddrouvot.pg@gmail.com> — 2025-12-02T14:07:45Z

    The first PrivateRefCountEntry member is Buffer (int), so the keysize should
    be sizeof(Buffer) and not sizeof(int32).
    ---
     src/backend/storage/buffer/bufmgr.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
     100.0% src/backend/storage/buffer/
    
    diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
    index f373cead95f..b6cde7e3803 100644
    --- a/src/backend/storage/buffer/bufmgr.c
    +++ b/src/backend/storage/buffer/bufmgr.c
    @@ -4019,7 +4019,7 @@ InitBufferManagerAccess(void)
     
     	memset(&PrivateRefCountArray, 0, sizeof(PrivateRefCountArray));
     
    -	hash_ctl.keysize = sizeof(int32);
    +	hash_ctl.keysize = sizeof(Buffer);
     	hash_ctl.entrysize = sizeof(PrivateRefCountEntry);
     
     	PrivateRefCountHash = hash_create("PrivateRefCount", 100, &hash_ctl,
    -- 
    2.34.1
    
    
    --+8gpCtHlmrjejSKf--