pgsql: Move heap-specific detoasting logic into a separate function.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Move heap-specific detoasting logic into a separate function.
Date: 2019-12-18 16:12:57
Message-ID: E1ihbwX-0003cM-73@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Move heap-specific detoasting logic into a separate function.

The new function, heap_fetch_toast_slice, is shared between
toast_fetch_datum_slice and toast_fetch_datum, and does all the
work of scanning the TOAST table, fetching chunks, and storing
them into the space allocated for the result varlena.

As an incidental side effect, this allows toast_fetch_datum_slice
to perform the scan with only a single scankey if all chunks are
being fetched, which might have some tiny performance benefit.

Discussion: http://postgr.es/m/CA+TgmobBzxwFojJ0zV0Own3dr09y43hp+OzU2VW+nos4PMXWEg@mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/backend/access/common/detoast.c | 244 +++++++++++-------------------------
1 file changed, 71 insertions(+), 173 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2019-12-18 18:10:50 pgsql: Re-#include <time.h> in checkpointer.c.
Previous Message Tom Lane 2019-12-18 15:22:53 pgsql: Minimal portability fix for commit e1551f96e.