postgres.git / summary / log / commit / refs
commit 51891d5a95605c4e98324731b386345d89c5a71e
Author: Robert Haas <rhaas@postgresql.org>
Date: Fri Jan 28 16:40:53 2022 +0000
First released in: 15.0
pg_basebackup: Cleaner handling when compression is multiply specified.
Tushar Ahuja discovered that if you use both --compress and --gzip,
or --compress multiple times, the last instance of one of these
options doesn't in all cases overwrite the compression level set by
an earlier option. That's not a serious bug, but it also has nothing
to recommend it. Repair.
Discussion: http://postgr.es/m/CA+TgmoZfP=rsZB_9vDGfhuNgSu_M_09UWu8SjvsP65y_1pQFCg@mail.gmail.com
src/bin/pg_basebackup/pg_basebackup.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index 1f81bbf4e2a..c40925c1f04 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -966,6 +966,12 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
int firstlen;
char *firstpart;
+ /*
+ * clear 'levelres' so that if there are multiple compression options,
+ * the last one fully overrides the earlier ones
+ */
+ *levelres = 0;
+
/* check if the option is split in two */
sep = strchr(src, ':');
[parent: da505eafca81]