refactor_pg_dump_onlyoption.no-cfbot
application/octet-stream
Filename: refactor_pg_dump_onlyoption.no-cfbot
Type: application/octet-stream
Part: 0
Message:
Re: Statistics Import and Export
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 9e7cb2c48f..4a2e3e123c 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -818,9 +818,16 @@ main(int argc, char **argv)
pg_fatal("option --if-exists requires option -c/--clean");
/* set derivative flags */
- dopt.dumpData = data_only || (!schema_only && !statistics_only && !dopt.no_data);
- dopt.dumpSchema = schema_only || (!data_only && !statistics_only && !dopt.no_schema);
- dopt.dumpStatistics = statistics_only || (!data_only && !schema_only && !dopt.no_statistics);
+ dopt.dumpData = data_only || (!schema_only && !statistics_only);
+ dopt.dumpSchema = schema_only || (!data_only && !statistics_only);
+ dopt.dumpStatistics = statistics_only || (!data_only && !schema_only);
+
+ if (dopt.no_data)
+ dopt.dumpData = false;
+ if (dopt.no_schema)
+ dopt.dumpSchema = false;
+ if (dopt.no_statistics)
+ dopt.dumpStatistics = false;
/*
* --inserts are already implied above if --column-inserts or
diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c
index 9586bd032c..4eb40df1cb 100644
--- a/src/bin/pg_dump/pg_restore.c
+++ b/src/bin/pg_dump/pg_restore.c
@@ -378,9 +378,16 @@ main(int argc, char **argv)
pg_fatal("cannot specify both --single-transaction and multiple jobs");
/* set derivative flags */
- opts->dumpData = data_only || (!no_data && !schema_only && !statistics_only);
- opts->dumpSchema = schema_only || (!no_schema && !data_only && !statistics_only);
- opts->dumpStatistics = statistics_only || (!no_statistics && !data_only && !schema_only);
+ opts->dumpData = data_only || (!schema_only && !statistics_only);
+ opts->dumpSchema = schema_only || (!data_only && !statistics_only);
+ opts->dumpStatistics = statistics_only || (!data_only && !schema_only);
+
+ if (opts->no_data)
+ opts->dumpData = false;
+ if (opts->no_schema)
+ opts->dumpSchema = false;
+ if (opts->no_statistics)
+ opts->dumpStatistics = false;
opts->disable_triggers = disable_triggers;
opts->enable_row_security = enable_row_security;