Thread: [COMMITTERS] pgsql: Simplify tape block format.
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(-)
On Thu, Dec 22, 2016 at 8:45 AM, Heikki Linnakangas <heikki.linnakangas@iki.fi> wrote: > Simplify tape block format. > > No more indirect blocks. The blocks form a linked list instead. There is still one remaining reference to indirect blocks that you missed in comments above LogicalTapeRewindForWrite(). -- Peter Geoghegan
On 12/26/2016 11:52 PM, Peter Geoghegan wrote: > On Thu, Dec 22, 2016 at 8:45 AM, Heikki Linnakangas > <heikki.linnakangas@iki.fi> wrote: >> Simplify tape block format. >> >> No more indirect blocks. The blocks form a linked list instead. > > There is still one remaining reference to indirect blocks that you > missed in comments above LogicalTapeRewindForWrite(). Thanks, fixed! - Heikki