diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2016-12-22 18:45:00 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2016-12-22 18:45:00 +0200 |
commit | 01ec25631fe0eae6af67c29c61a358dc6b92ed3c (patch) | |
tree | 36f4d174b81394546cb8c7c173d1e58617491321 /src/include | |
parent | b86515da1a73d0a2e23aca728f18b5f9e809e89f (diff) |
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
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/utils/logtape.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/utils/logtape.h b/src/include/utils/logtape.h index d7dccb85be4..f580aade53e 100644 --- a/src/include/utils/logtape.h +++ b/src/include/utils/logtape.h @@ -35,9 +35,9 @@ extern void LogicalTapeRewindForRead(LogicalTapeSet *lts, int tapenum, size_t buffer_size); extern void LogicalTapeRewindForWrite(LogicalTapeSet *lts, int tapenum); extern void LogicalTapeFreeze(LogicalTapeSet *lts, int tapenum); -extern bool LogicalTapeBackspace(LogicalTapeSet *lts, int tapenum, +extern size_t LogicalTapeBackspace(LogicalTapeSet *lts, int tapenum, size_t size); -extern bool LogicalTapeSeek(LogicalTapeSet *lts, int tapenum, +extern void LogicalTapeSeek(LogicalTapeSet *lts, int tapenum, long blocknum, int offset); extern void LogicalTapeTell(LogicalTapeSet *lts, int tapenum, long *blocknum, int *offset); |