pgsql: Add tests for low-level PGLZ [de]compression routines

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add tests for low-level PGLZ [de]compression routines
Date: 2026-04-14 20:12:49
Message-ID: E1wCk7t-000z5L-0J@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add tests for low-level PGLZ [de]compression routines

The goal of this module is to provide an entry point for the coverage of
the low-level compression and decompression PGLZ routines. The new test
is moved to a new parallel group, with all the existing
compression-related tests added to it.

This includes tests for the cases detected by fuzzing that emulate
corrupted compressed data, as fixed by 2b5ba2a0a141:
- Set control bit with read of a match tag, where no data follows.
- Set control bit with read of a match tag, where 1 byte follows.
- Set control bit with match tag where length nibble is 3 bytes
(extended case).

While on it, some tests are added for compress/decompress roundtrips,
and for check_complete=false/true. Like 2b5ba2a0a141, backpatch to all
the stable branches.

Discussion: https://postgr.es/m/adw647wuGjh1oU6p@paquier.xyz
Backpatch-through: 14

Branch
------
REL_17_STABLE

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

Modified Files
--------------
src/test/regress/expected/compression_pglz.out | 65 +++++++++++++++++++++++++
src/test/regress/parallel_schedule | 7 ++-
src/test/regress/regress.c | 66 ++++++++++++++++++++++++++
src/test/regress/sql/compression_pglz.sql | 53 +++++++++++++++++++++
4 files changed, 190 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2026-04-14 21:47:41 pgsql: Check for unterminated strings when calling uloc_getLanguage().
Previous Message Aleksander Alekseev 2026-04-14 14:55:53 Re: pgsql: Separate out bytea sort support from varlena.c