]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Add tests for low-level PGLZ [de]compression routines master github/master
authorMichael Paquier <michael@paquier.xyz>
Tue, 14 Apr 2026 20:09:05 +0000 (05:09 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 14 Apr 2026 20:09:05 +0000 (05:09 +0900)
commit67d318e70402b0eb450c7e20c0378b88e5a6df1d
tree0bf77e40a1963e1ff530fc23c051429f29ef3cbd
parent66ad764c8d517f59577d41ac3dad786729c9e10e
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
src/test/regress/expected/compression_pglz.out [new file with mode: 0644]
src/test/regress/parallel_schedule
src/test/regress/regress.c
src/test/regress/sql/compression_pglz.sql [new file with mode: 0644]