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
This commit is contained in:
Robert Haas 2022-01-28 11:40:53 -05:00
parent da505eafca
commit 51891d5a95
1 changed files with 6 additions and 0 deletions

View File

@ -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, ':');