pgsql: Simplify the code for logical tape read buffers.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Simplify the code for logical tape read buffers.
Date: 2016-10-12 09:06:35
Message-ID: E1buFUh-0003Jj-0v@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Simplify the code for logical tape read buffers.

Pass the buffer size as argument to LogicalTapeRewindForRead, rather than
setting it earlier with the separate LogicTapeAssignReadBufferSize call.
This way, the buffer size is set closer to where it's actually used, which
makes the code easier to understand.

This makes the calculation for how much memory to use for the buffers less
precise. We now use the same amount of memory for every tape, rounded down
to the nearest BLCKSZ boundary, instead of using one more block for some
tapes, to get the total up to exact amount of memory available. That should
be OK, merging isn't too sensitive to the exact amount of memory used.

Reviewed by Peter Geoghegan

Discussion: <0f607c4b-df23-353e-bf56-c0389d28495f(at)iki(dot)fi>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b75f467b6eec0678452fd8d7f8d306e6df3a1076

Modified Files
--------------
src/backend/utils/sort/logtape.c | 213 ++++++++++++++++++-------------------
src/backend/utils/sort/tuplesort.c | 120 ++++++---------------
src/include/utils/logtape.h | 6 +-
3 files changed, 139 insertions(+), 200 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2016-10-12 09:10:19 pgsql: Fix copy-pasto in comment.
Previous Message David Fetter 2016-10-11 18:29:36 Re: pgsql: Drop server support for FE/BE protocol version 1.0.