• Robert Haas's avatar
    Improve memory management for external sorts. · 0011c009
    Robert Haas authored
    Introduce a new memory context which stores tuple data, and reset it
    at the end of each merge pass; this helps avoid memory fragmentation
    and, consequently, overallocation.  Also, for the final merge patch,
    eliminate memory context chunk header overhead entirely by allocating
    all of the memory used for buffering tuples during the merge in a
    single chunk.  Since this modestly increases the number of tuples we
    can store, grow the memtuples array a bit so that we're less likely to
    run short of slots there.
    
    Peter Geoghegan.  Review and testing of patches in this series by
    Jeff Janes, Greg Stark, Mithun Cy, and me.
    0011c009
tuplesort.c 136 KB