pgsql: Create an API for inserting and deleting rows in TOAST tables.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Create an API for inserting and deleting rows in TOAST tables.
Date: 2019-09-06 14:48:08
Message-ID: E1i6FWy-0005jx-2E@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Create an API for inserting and deleting rows in TOAST tables.

This moves much of the non-heap-specific logic from toast_delete and
toast_insert_or_update into a helper functions accessible via a new
header, toast_helper.h. Using the functions in this module, a table
AM can implement creation and deletion of TOAST table rows with
much less code duplication than was possible heretofore. Some
table AMs won't want to use the TOAST logic at all, but for those
that do this will make that easier.

Patch by me, reviewed and tested by Prabhat Sabu, Thomas Munro,
Andres Freund, and Álvaro Herrera.

Discussion: http://postgr.es/m/CA+TgmoZv-=2iWM4jcw5ZhJeL18HF96+W1yJeYrnGMYdkFFnEpQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bd124996ef0d655f96a7d4df79611707091f1585

Modified Files
--------------
src/backend/access/heap/heaptoast.c | 400 ++++----------------------------
src/backend/access/table/Makefile | 2 +-
src/backend/access/table/toast_helper.c | 331 ++++++++++++++++++++++++++
src/include/access/toast_helper.h | 115 +++++++++
src/tools/pgindent/typedefs.list | 2 +
5 files changed, 493 insertions(+), 357 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2019-09-06 15:09:02 Re: pgsql: Use data directory inode number, not port, to select SysV resour
Previous Message Peter Eisentraut 2019-09-06 14:25:41 Re: pgsql: Doc: remove some long-obsolete information from installation.sgm