postgrespro.git / summary / log / commit / refs

commit    7c9e19ca9a4de6eb98582548ec6dd0d83fc5ac2d
Author:   Amit Kapila <akapila@postgresql.org>
Date:     Tue Sep 04 02:43:35 2018 +0000

    During the split, set checksum on an empty hash index page.
    
    On a split, we allocate a new splitpoint's worth of bucket pages wherein
    we initialize the last page with zeros which is fine, but we forgot to set
    the checksum for that last page.
    
    We decided to back-patch this fix till 10 because we don't have an easy
    way to test it in prior versions.  Another reason is that the hash-index
    code is changed heavily in 10, so it is not advisable to push the fix
    without testing it in prior versions.
    
    Author: Amit Kapila
    Reviewed-by: Yugo Nagata
    Backpatch-through: 10
    Discussion: https://postgr.es/m/5d03686d-727c-dbf8-0064-bf8b97ffe850@2ndquadrant.com


src/backend/access/hash/hashpage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/access/hash/hashpage.c b/src/backend/access/hash/hashpage.c index 69a9c4f1fe..6825c14309 100644 --- a/src/backend/access/hash/hashpage.c +++ b/src/backend/access/hash/hashpage.c @@ -1038,6 +1038,7 @@ _hash_alloc_buckets(Relation rel, BlockNumber firstblock, uint32 nblocks) true); RelationOpenSmgr(rel); + PageSetChecksumInplace(page, lastblock); smgrextend(rel->rd_smgr, MAIN_FORKNUM, lastblock, zerobuf.data, false); return true; [parent: c076f3d74af6]