• Jeff Davis's avatar
    Introduce LogicalTapeSetExtend(). · 24d85952
    Jeff Davis authored
    Increases the number of tapes in a logical tape set. This will be
    important for disk-based hash aggregation, because the maximum number
    of tapes is not known ahead of time.
    
    While discussing this change, it was observed to regress the
    performance of Sort for at least one test case. The performance
    regression was because some versions of GCC switch to an inlined
    version of memcpy() in LogicalTapeWrite() after this change. No
    performance regression for clang was observed.
    
    Because the regression is due to an arbitrary decision by the
    compiler, I decided it shouldn't hold up this change. If it needs to
    be fixed, we can find a workaround.
    
    Author: Adam Lee, Jeff Davis
    Discussion: https://postgr.es/m/e54bfec11c59689890f277722aaaabd05f78e22c.camel%40j-davis.com
    24d85952
logtape.c 34.5 KB