Обсуждение: pgsql: Create an API for inserting and deleting rows in TOAST tables.

Поиск
Список
Период
Сортировка

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

От
Robert Haas
Дата:
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(-)