BUG #6060: does not work -z option of pg_basebackup

Started by Honda Shigehiroalmost 15 years ago2 messagesbugs
Jump to latest
#1Honda Shigehiro
fwif0083@mb.infoweb.ne.jp

The following bug has been logged online:

Bug reference: 6060
Logged by: Shigehiro honda
Email address: fwif0083@mb.infoweb.ne.jp
PostgreSQL version: 9.1 beta2
Operating system: Linux
Description: does not work -z option of pg_basebackup
Details:

it seems that the -z option of pg_basebackup does not work correctly.
In getopt_long() function, there is not 'z' in 3rd argument.

And Z_DEFAULT_COMPRESSION are defined as (-1) in my zlib.h and it does only
test (compresslevel > 0) in the code, so the command does not compress
anyway.

$ diff pg_basebackup.c.DIST pg_basebackup.c
267c267
< if (compresslevel > 0)
---

if (compresslevel > 0 || compresslevel == Z_DEFAULT_COMPRESSION )

284c284
< if (compresslevel > 0)
---

if (compresslevel > 0 || compresslevel == Z_DEFAULT_COMPRESSION)

308c308
< if (compresslevel > 0)
---

if (compresslevel > 0 || compresslevel == Z_DEFAULT_COMPRESSION)

328c328
< if (compresslevel > 0)
---

if (compresslevel > 0 || compresslevel == Z_DEFAULT_COMPRESSION)

979c979
< while ((c = getopt_long(argc, argv, "D:F:l:Z:c:h:p:U:xwWvP",
---

while ((c = getopt_long(argc, argv, "D:F:l:Z:c:h:p:U:zxwWvP",

1092c1092
< if (format == 'p' && compresslevel > 0)
---

if (format == 'p' && ( compresslevel > 0|| compresslevel ==

Z_DEFAULT_COMPRESSION ))

regards,

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Honda Shigehiro (#1)
Re: BUG #6060: does not work -z option of pg_basebackup

"Shigehiro honda" <fwif0083@mb.infoweb.ne.jp> writes:

it seems that the -z option of pg_basebackup does not work correctly.
In getopt_long() function, there is not 'z' in 3rd argument.

Ooops. Doesn't look like this got tested much (or at all).

And Z_DEFAULT_COMPRESSION are defined as (-1) in my zlib.h and it does only
test (compresslevel > 0) in the code, so the command does not compress
anyway.

I think it would be sufficient to test (compresslevel != 0) in all these
places, instead of hard-wiring knowledge of Z_DEFAULT_COMPRESSION.

Will fix, thanks for the report!

$ diff pg_basebackup.c.DIST pg_basebackup.c

BTW, plain diffs are just about useless, since patch can't apply them
safely if the code has changed at all. Please send -c or -u format
diffs in future.

regards, tom lane