pgsql: Add support for partial TOAST decompression - Mailing list pgsql-committers

From Stephen Frost
Subject pgsql: Add support for partial TOAST decompression
Date
Msg-id E1hBMOn-0006Oz-R1@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Add support for partial TOAST decompression

When asked for a slice of a TOAST entry, decompress enough to return the
slice instead of decompressing the entire object.

For use cases where the slice is at, or near, the beginning of the entry,
this avoids a lot of unnecessary decompression work.

This changes the signature of pglz_decompress() by adding a boolean to
indicate if it's ok for the call to finish before consuming all of the
source or destination buffers.

Author: Paul Ramsey
Reviewed-By: Rafia Sabih, Darafei Praliaskouski, Regina Obe
Discussion: https://postgr.es/m/CACowWR07EDm7Y4m2kbhN_jnys%3DBBf9A6768RyQdKm_%3DNpkcaWg%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4d0e994eed83c845a05da6e9a417b4efec67efaf

Modified Files
--------------
src/backend/access/heap/tuptoaster.c    | 38 +++++++++++++++++++++++++++--
src/backend/access/transam/xlogreader.c |  2 +-
src/backend/utils/adt/varlena.c         | 22 ++++++++++-------
src/common/pg_lzcompress.c              | 42 +++++++++++++++------------------
src/include/common/pg_lzcompress.h      |  2 +-
5 files changed, 70 insertions(+), 36 deletions(-)


pgsql-committers by date:

Previous
From: Etsuro Fujita
Date:
Subject: pgsql: postgres_fdw: Perform the (FINAL,NULL) upperrel operations remo
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Report progress of CREATE INDEX operations