• Amit Kapila's avatar
    Fix the overrun in hash index metapage for smaller block sizes. · ac27c74d
    Amit Kapila authored
    The commit 620b49a1 changed the value of HASH_MAX_BITMAPS with the intent
    to allow many non-unique values in hash indexes without worrying to reach
    the limit of the number of overflow pages.  At that time, this didn't
    occur to us that it can overrun the block for smaller block sizes.
    
    Choose the value of HASH_MAX_BITMAPS based on BLCKSZ such that it gives
    the same answer as now for the cases where the overrun doesn't occur, and
    some other sufficiently-value for the cases where an overrun currently
    does occur.  This allows us not to change the behavior in any case that
    currently works, so there's really no reason for a HASH_VERSION bump.
    
    Author: Dilip Kumar
    Reviewed-by: Amit Kapila
    Backpatch-through: 10
    Discussion: https://postgr.es/m/CAA4eK1LtF4VmU4mx_+i72ff1MdNZ8XaJMGkt2HV8+uSWcn8t4A@mail.gmail.com
    ac27c74d
hash.h 18.8 KB