• Tom Lane's avatar
    Ensure proper alignment of tuples in HashMemoryChunkData buffers. · 5dc692f7
    Tom Lane authored
    The previous coding relied (without any documentation) on the data[]
    member of HashMemoryChunkData being at a MAXALIGN'ed offset.  If it
    was not, the tuples would not be maxaligned either, leading to failures
    on alignment-picky machines.  While there seems to be no live bug on any
    platform we support, this is clearly pretty fragile: any addition to or
    rearrangement of the fields in HashMemoryChunkData could break it.
    Let's remove the hazard by getting rid of the data[] member and instead
    using pointer arithmetic with an explicitly maxalign'ed offset.
    
    Discussion: https://postgr.es/m/14483.1514938129@sss.pgh.pa.us
    5dc692f7
nodeHash.c 98.5 KB