pgsql: Use min/max bounds defined by Zstd for compression level

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use min/max bounds defined by Zstd for compression level
Date: 2022-09-22 11:04:05
Message-ID: E1obJzx-001Ucj-8n@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use min/max bounds defined by Zstd for compression level

The bounds hardcoded in compression.c since ffd5365 (minimum at 1 and
maximum at 22) do not match the reality of what zstd is able to
handle, these values being available via ZSTD_maxCLevel() and
ZSTD_minCLevel() at run-time. The maximum of 22 is actually correct
in recent versions, but the minimum was not as the library can go down
to -131720 by design. This commit changes the code to use the run-time
values in the code instead of some hardcoded ones.

Zstd seems to assume that these bounds could change in the future, and
Postgres will be able to adapt automatically to such changes thanks to
what's being done in this commit.

Reported-by: Justin Prysby
Discussion: https://postgr.es/m/20220922033716.GL31833@telsasoft.com
Backpatch-through: 15

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/18ac08f0b42de3cf35f07199c9f482746c8b12c0

Modified Files
--------------
doc/src/sgml/protocol.sgml | 6 ++++--
src/common/compression.c | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2022-09-22 11:41:14 pgsql: Restore archive_command documentation
Previous Message Etsuro Fujita 2022-09-22 07:05:21 pgsql: Fix thinko in comment.