pgsql: Modify logtape.c so that the initial LogicalTapeSetCreate call

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Modify logtape.c so that the initial LogicalTapeSetCreate call
Date: 2006-02-19 05:58:36
Message-ID: 20060219055836.5EB4E9DC82D@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message James William Pye 2006-02-19 06:12:26 python - pq: Fix error handling in Query and Function.
Previous Message Tom Lane 2006-02-19 05:54:06 pgsql: Improve tuplesort.c to support variable merge order.