Simplify tape block format.
No more indirect blocks. The blocks form a linked list instead.
This saves some memory, because we don't need to have a buffer in memory to
hold the indirect block (or blocks). To reflect that, TAPE_BUFFER_OVERHEAD
is reduced from 3 to 1 buffer, which allows using more memory for building
the initial runs.
Reviewed by Peter Geoghegan and Robert Haas.
Discussion: https://www.postgresql.org/message-id/34678beb-938e-646e-db9f-a7def5c44ada%40iki.fi
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/01ec25631fe0eae6af67c29c61a358dc6b92ed3c
Modified Files
--------------
src/backend/utils/sort/logtape.c | 627 +++++++++++--------------------------
src/backend/utils/sort/tuplesort.c | 65 ++--
src/include/utils/logtape.h | 4 +-
3 files changed, 218 insertions(+), 478 deletions(-)