Simplify tape block format.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 01ec25631fe0eae6af67c29c61a358dc6b92ed3c
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2016-12-22T16:45:00Z
Releases: 10.0
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

Files

PathChange+/−
src/backend/utils/sort/logtape.c modified +180 −447
src/backend/utils/sort/tuplesort.c modified +36 −29
src/include/utils/logtape.h modified +2 −2

Discussion