On Tue, Apr 11, 2023 at 08:19:59PM -0500, Justin Pryzby wrote: > On Wed, Apr 12, 2023 at 10:07:08AM +0900, Michael Paquier wrote: >> Yes, this comment gives no value as it stands. I would be tempted to >> follow the suggestion to group the whole code block in a single ifdef, >> including the check, and remove this comment. Like the attached >> perhaps? > > +1
Let me try this one again, as the previous patch would cause a warning under --without:-zlib as user_compression_defined would be unused. We could do something like the attached instead. It means doing twice parse_compress_specification() for the non-zlib path, still we are already doing so for the zlib path. If there are other ideas, feel free. -- Michael
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 967ced4eed..596f64ed2c 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -751,17 +751,21 @@ main(int argc, char **argv)
/*
* Custom and directory formats are compressed by default with gzip when
- * available, not the others.
+ * available if no compression specification has been specified, not the
+ * others.
*/
- if ((archiveFormat == archCustom || archiveFormat == archDirectory) &&
- !user_compression_defined)
+ if (!user_compression_defined)
{
+ if (archiveFormat == archCustom || archiveFormat == archDirectory)
+ {
#ifdef HAVE_LIBZ
- parse_compress_specification(PG_COMPRESSION_GZIP, NULL,
- &compression_spec);
+ parse_compress_specification(PG_COMPRESSION_GZIP, NULL,
+ &compression_spec);
#else
- /* Nothing to do in the default case */
+ parse_compress_specification(PG_COMPRESSION_NONE, NULL,
+ &compression_spec);
#endif
+ }
}
/*
signature.asc
Description: PGP signature
