From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Refactor code parsing compression option values (-Z/--compress) |
Date: | 2022-11-30 00:34:47 |
Message-ID: | E1p0B3n-001MYk-1U@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Refactor code parsing compression option values (-Z/--compress)
This commit moves the code in charge of deparsing the method and detail
strings fed later to parse_compress_specification() to a common routine,
where the backward-compatible case of only an integer being found (N
= 0 => "none", N > 1 => gzip at level N) is handled.
Note that this has a side-effect for pg_basebackup, as we now attempt to
detect "server-" and "client-" before checking for the integer-only
pre-14 grammar, where values like server-N and client-N (without the
follow-up detail string) are now valid rather than failing because of an
unsupported method name. Past grammars are still handled the same way,
but these flavors are now authorized, and would now switch to consider N
= 0 as no compression and N > 1 as gzip with the compression level used
as N, with the caller still controlling if the compression method should
be done server-side, client-side or is unspecified. The documentation
of pg_basebackup is updated to reflect that.
This benefits other code paths that would like to rely on the same logic
as pg_basebackup and pg_receivewal with option values used for
compression specifications, one area discussed lately being pg_dump.
Author: Georgios Kokolatos, Michael Paquier
Discussion: https://postgr.es/m/O4mutIrCES8ZhlXJiMvzsivT7ztAMja2lkdL1LJx6O5f22I2W8PBIeLKz7mDLwxHoibcnRAYJXm1pH4tyUNC4a8eDzLn22a6Pb1S74Niexg=@pm.me
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d18655cc037a811b936971e99af4a2427a9739d6
Modified Files
--------------
doc/src/sgml/ref/pg_basebackup.sgml | 16 +++++----
src/bin/pg_basebackup/pg_basebackup.c | 48 ++++----------------------
src/bin/pg_basebackup/pg_receivewal.c | 61 ---------------------------------
src/common/compression.c | 63 +++++++++++++++++++++++++++++++++++
src/include/common/compression.h | 2 ++
5 files changed, 82 insertions(+), 108 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2022-11-30 01:50:18 | pgsql: doc: add transaction processing chapter with internals info |
Previous Message | Michael Paquier | 2022-11-29 23:39:36 | pgsql: Fix comment in fe-auth-scram.c |