]> granicus.if.org Git - postgresql/commit
Create an API for inserting and deleting rows in TOAST tables.
authorRobert Haas <rhaas@postgresql.org>
Fri, 6 Sep 2019 14:38:51 +0000 (10:38 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 6 Sep 2019 14:38:51 +0000 (10:38 -0400)
commitbd124996ef0d655f96a7d4df79611707091f1585
tree0312f850eca51afcbf750c3178181a0da0296a1d
parent286af0ce12117bc673b97df6228d1a666594d247
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
src/backend/access/heap/heaptoast.c
src/backend/access/table/Makefile
src/backend/access/table/toast_helper.c [new file with mode: 0644]
src/include/access/toast_helper.h [new file with mode: 0644]
src/tools/pgindent/typedefs.list