• Tom Lane's avatar
    Modify logtape.c so that the initial LogicalTapeSetCreate call only · b34aa337
    Tom Lane authored
    allocates the control data.  The per-tape buffers are allocated only
    on first use.  This saves memory in situations where tuplesort.c
    overestimates the number of tapes needed (ie, there are fewer runs
    than tapes).  Also, this makes legitimate the coding in inittapes()
    that includes tape buffer space in the maximum-memory calculation:
    when inittapes runs, we've already expended the whole allowed memory
    on tuple storage, and so we'd better not allocate all the tape buffers
    until we've flushed some tuples out of memory.
    b34aa337
logtape.c 28.2 KB