Thread: pgsql: Add support for multiple kinds of external toast datums.

pgsql: Add support for multiple kinds of external toast datums.

From
Robert Haas
Date:
Add support for multiple kinds of external toast datums.

To that end, support tags rather than lengths for external datums.
As an example of how this can be used, add support or "indirect"
tuples which point to some externally allocated memory containing
a toast tuple.  Similar infrastructure could be used for other
purposes, including, perhaps, support for alternative compression
algorithms.

Andres Freund, reviewed by Hitoshi Harada and myself

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/3682025015390a8e802e0752589162db7bd70b5d

Modified Files
--------------
src/backend/access/heap/tuptoaster.c             |  110 +++++++++++++---
src/include/access/tuptoaster.h                  |    5 +
src/include/postgres.h                           |   84 ++++++++----
src/test/regress/expected/indirect_toast.out     |  151 ++++++++++++++++++++++
src/test/regress/input/create_function_1.source  |    5 +
src/test/regress/output/create_function_1.source |    4 +
src/test/regress/parallel_schedule               |    2 +-
src/test/regress/regress.c                       |   92 +++++++++++++
src/test/regress/serial_schedule                 |    1 +
src/test/regress/sql/indirect_toast.sql          |   61 +++++++++
10 files changed, 472 insertions(+), 43 deletions(-)