pgsql: Modify logtape.c so that the initial LogicalTapeSetCreate call - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Modify logtape.c so that the initial LogicalTapeSetCreate call
Date
Msg-id 20060219055836.5EB4E9DC82D@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Modify logtape.c so that the initial LogicalTapeSetCreate call only
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.

Modified Files:
--------------
    pgsql/src/backend/utils/sort:
        logtape.c (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/logtape.c.diff?r1=1.17&r2=1.18)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Improve tuplesort.c to support variable merge order.
Next
From: jwp@pgfoundry.org (James William Pye)
Date:
Subject: python - pq: Fix error handling in Query and Function.