Move heap-specific detoasting logic into a separate function.
authorRobert Haas <rhaas@postgresql.org>
Wed, 18 Dec 2019 16:08:59 +0000 (11:08 -0500)
committerRobert Haas <rhaas@postgresql.org>
Wed, 18 Dec 2019 16:08:59 +0000 (11:08 -0500)
commite9fd0415e6e27c8ce5f40152aa98347ca6fe4385
tree4e492b0b7b63b9f971cabf03a32878b388101bf2
parentbf7427bdd389aa6c266768f2a07214a2a02b85c9
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
src/backend/access/common/detoast.c