Re: tableam vs. TOAST
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Prabhat Sahu <prabhat.sahu@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-09-06T14:59:54Z
Lists: pgsql-hackers
Attachments
- v6-0002-Rename-some-toasting-functions-based-on-whether-t.patch (application/octet-stream) patch v6-0002
- v6-0001-Allow-TOAST-tables-to-be-implemented-using-table-.patch (application/octet-stream) patch v6-0001
On Thu, Sep 5, 2019 at 4:07 PM Andres Freund <andres@anarazel.de> wrote: > Yea, makes sense to me. OK, done. Here's the remaining patches again, with a slight update to the renaming patch (now 0002). In the last version, I renamed toast_insert_or_update to heap_toast_insert_or_update but did not rename toast_delete to heap_toast_delete. Actually, I'm not seeing any particular reason not to go ahead and push the renaming patch at this point also. I guess there's a question as to whether I should more aggressively add "heap" to the names of the other functions in heaptoast.h, but I'm kinda "meh" about that. It seems likely that other AMs will need their own versions of toast_insert_or_update() and toast_delete(), but they shouldn't really need their own version of, say, toast_flatten_tuple_to_datum(), and the point there is that we're building a DatumTuple, so calling it heap_toast_flatten_tuple_to_datum() seems almost misleading. I'm inclined to leave all that stuff alone for now. 0001 needs more thought, as discussed. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
tableam: New callback relation_fetch_toast_slice.
- ce242ae154dd 13.0 landed
-
tableam: Allow choice of toast AM.
- 83322e38da1a 13.0 landed
-
Move heap-specific detoasting logic into a separate function.
- e9fd0415e6e2 13.0 landed
-
Code cleanup for toast_fetch_datum and toast_fetch_datum_slice.
- d5406dea25b6 13.0 landed
-
Rename some toasting functions based on whether they are heap-specific.
- 2e8b6bfa90b2 13.0 landed
-
Create an API for inserting and deleting rows in TOAST tables.
- bd124996ef0d 13.0 landed
-
Split tuptoaster.c into three separate files.
- 8b94dab06617 13.0 landed
-
tableam: Move heap-specific logic from needs_toast_table below tableam.
- 1171d7d58545 12.0 cited