pgsql: Simplify tape block format.

Started by Heikki Linnakangasover 9 years ago3 messagescomitters
Jump to latest
#1Heikki Linnakangas
heikki.linnakangas@enterprisedb.com

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: /messages/by-id/34678beb-938e-646e-db9f-a7def5c44ada@iki.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(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

In reply to: Heikki Linnakangas (#1)
Re: pgsql: Simplify tape block format.

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

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#3Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Peter Geoghegan (#2)
Re: pgsql: Simplify tape block format.

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

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers