From: Peter Eisentraut Date: Sat, 7 Oct 2006 20:59:05 +0000 (+0000) Subject: The -X option in pg_dump was supposed to be a workaround for the lack of X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=1ec2c4d41cabd53d7043f1452ffba4a80a4fa196;p=users%2Fbernd%2Fpostgres.git The -X option in pg_dump was supposed to be a workaround for the lack of portable long options. But we have had portable long options for a long time now, so this is obsolete. Now people have added options which *only* work with -X but not as regular long option, so I'm putting a stop to this: -X is deprecated; it still works, but it has been removed from the documentation, and please don't add more of them. --- diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index 639ce6669c..977d65e51d 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -926,7 +926,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; You can get the effect of disabling foreign keys by using - the diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index d12b2cbb32..3fc1fc4b33 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -524,7 +524,6 @@ PostgreSQL documentation - @@ -535,7 +534,6 @@ PostgreSQL documentation - @@ -563,7 +561,6 @@ PostgreSQL documentation - diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index cb51cf85f1..c993c51c8f 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -241,7 +241,6 @@ PostgreSQL documentation - @@ -252,7 +251,6 @@ PostgreSQL documentation - @@ -274,7 +272,6 @@ PostgreSQL documentation - diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index a161866704..07094b63a6 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -361,7 +361,6 @@ - @@ -384,7 +383,6 @@ - @@ -398,7 +396,7 @@ - + By default, table data objects are restored even if the diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index bc9e727ee3..291b19dca9 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1815,7 +1815,7 @@ For new features, add links to the documentation sections. Add pg_restore - -X no-data-for-failed-tables option to suppress + --no-data-for-failed-tables option to suppress loading data if table creation failed (the table already exists) (Martin Pitt) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 860a2abecf..a68746be36 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -256,8 +256,7 @@ main(int argc, char **argv) {"version", no_argument, NULL, 'V'}, /* - * the following options don't have an equivalent short option letter, - * but are available as '-X long-name' + * the following options don't have an equivalent short option letter */ {"disable-dollar-quoting", no_argument, &disable_dollar_quoting, 1}, {"disable-triggers", no_argument, &disable_triggers, 1}, @@ -432,14 +431,8 @@ main(int argc, char **argv) aclsSkip = true; break; - /* - * Option letters were getting scarce, so I invented this new - * scheme: '-X feature' turns on some feature. Compare to the - * -f option in GCC. You should also add an equivalent - * GNU-style option --feature. Features that require - * arguments should use '-X feature=foo'. - */ case 'X': + /* -X is a deprecated alternative to long options */ if (strcmp(optarg, "disable-dollar-quoting") == 0) disable_dollar_quoting = 1; else if (strcmp(optarg, "disable-triggers") == 0) @@ -459,9 +452,9 @@ main(int argc, char **argv) case 'Z': /* Compression Level */ compressLevel = atoi(optarg); break; - /* This covers the long options equivalent to -X xxx. */ case 0: + /* This covers the long options equivalent to -X xxx. */ break; default: @@ -908,11 +901,9 @@ help(const char *progname) printf(_(" -t, --table=TABLE dump the named table only\n")); printf(_(" -T, --exclude-table=TABLE do NOT dump the named table\n")); printf(_(" -x, --no-privileges do not dump privileges (grant/revoke)\n")); - printf(_(" -X disable-dollar-quoting, --disable-dollar-quoting\n" - " disable dollar quoting, use SQL standard quoting\n")); - printf(_(" -X disable-triggers, --disable-triggers\n" - " disable triggers during data-only restore\n")); - printf(_(" -X use-set-session-authorization, --use-set-session-authorization\n" + printf(_(" --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n")); + printf(_(" --disable-triggers disable triggers during data-only restore\n")); + printf(_(" --use-set-session-authorization\n" " use SESSION AUTHORIZATION commands instead of\n" " OWNER TO commands\n")); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 3830e444a9..9cee5c548a 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -63,7 +63,6 @@ static bool skip_acls = false; static bool verbose = false; static bool ignoreVersion = false; -/* flags for -X long options */ static int disable_dollar_quoting = 0; static int disable_triggers = 0; static int use_setsessauth = 0; @@ -107,8 +106,7 @@ main(int argc, char *argv[]) {"no-acl", no_argument, NULL, 'x'}, /* - * the following options don't have an equivalent short option letter, - * but are available as '-X long-name' + * the following options don't have an equivalent short option letter */ {"disable-dollar-quoting", no_argument, &disable_dollar_quoting, 1}, {"disable-triggers", no_argument, &disable_triggers, 1}, @@ -255,10 +253,11 @@ main(int argc, char *argv[]) break; case 'X': + /* -X is a deprecated alternative to long options */ if (strcmp(optarg, "disable-dollar-quoting") == 0) - appendPQExpBuffer(pgdumpopts, " -X disable-dollar-quoting"); + appendPQExpBuffer(pgdumpopts, " --disable-dollar-quoting"); else if (strcmp(optarg, "disable-triggers") == 0) - appendPQExpBuffer(pgdumpopts, " -X disable-triggers"); + appendPQExpBuffer(pgdumpopts, " --disable-triggers"); else if (strcmp(optarg, "use-set-session-authorization") == 0) /* no-op, still allowed for compatibility */ ; else @@ -282,11 +281,11 @@ main(int argc, char *argv[]) /* Add long options to the pg_dump argument list */ if (disable_dollar_quoting) - appendPQExpBuffer(pgdumpopts, " -X disable-dollar-quoting"); + appendPQExpBuffer(pgdumpopts, " --disable-dollar-quoting"); if (disable_triggers) - appendPQExpBuffer(pgdumpopts, " -X disable-triggers"); + appendPQExpBuffer(pgdumpopts, " --disable-triggers"); if (use_setsessauth) - appendPQExpBuffer(pgdumpopts, " -X use-set-session-authorization"); + appendPQExpBuffer(pgdumpopts, " --use-set-session-authorization"); if (optind < argc) { @@ -388,11 +387,10 @@ help(void) printf(_(" -s, --schema-only dump only the schema, no data\n")); printf(_(" -S, --superuser=NAME specify the superuser user name to use in the dump\n")); printf(_(" -x, --no-privileges do not dump privileges (grant/revoke)\n")); - printf(_(" -X disable-dollar-quoting, --disable-dollar-quoting\n" + printf(_(" --disable-dollar-quoting\n" " disable dollar quoting, use SQL standard quoting\n")); - printf(_(" -X disable-triggers, --disable-triggers\n" - " disable triggers during data-only restore\n")); - printf(_(" -X use-set-session-authorization, --use-set-session-authorization\n" + printf(_(" --disable-triggers disable triggers during data-only restore\n")); + printf(_(" --use-set-session-authorization\n" " use SESSION AUTHORIZATION commands instead of\n" " OWNER TO commands\n")); diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index 1f8ca46580..005bbdd633 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -76,6 +76,7 @@ main(int argc, char **argv) extern char *optarg; static int use_setsessauth = 0; static int disable_triggers = 0; + static int no_data_for_failed_tables = 0; struct option cmdopts[] = { {"clean", 0, NULL, 'c'}, @@ -107,11 +108,11 @@ main(int argc, char **argv) {"single-transaction", 0, NULL, '1'}, /* - * the following options don't have an equivalent short option letter, - * but are available as '-X long-name' + * the following options don't have an equivalent short option letter */ {"use-set-session-authorization", no_argument, &use_setsessauth, 1}, {"disable-triggers", no_argument, &disable_triggers, 1}, + {"no-data-for-failed-tables", no_argument, &no_data_for_failed_tables, 1}, {NULL, 0, NULL, 0} }; @@ -244,12 +245,11 @@ main(int argc, char **argv) break; case 'X': + /* -X is a deprecated alternative to long options */ if (strcmp(optarg, "use-set-session-authorization") == 0) use_setsessauth = 1; else if (strcmp(optarg, "disable-triggers") == 0) disable_triggers = 1; - else if (strcmp(optarg, "no-data-for-failed-tables") == 0) - opts->noDataForFailedTables = 1; else { fprintf(stderr, @@ -260,8 +260,8 @@ main(int argc, char **argv) } break; - /* This covers the long options equivalent to -X xxx. */ case 0: + /* This covers the long options equivalent to -X xxx. */ break; case '1': /* Restore data in a single transaction */ @@ -296,6 +296,7 @@ main(int argc, char **argv) opts->disable_triggers = disable_triggers; opts->use_setsessauth = use_setsessauth; + opts->noDataForFailedTables = no_data_for_failed_tables; if (opts->formatName) { @@ -390,12 +391,11 @@ usage(const char *progname) printf(_(" -t, --table=NAME restore named table\n")); printf(_(" -T, --trigger=NAME restore named trigger\n")); printf(_(" -x, --no-privileges skip restoration of access privileges (grant/revoke)\n")); - printf(_(" -X disable-triggers, --disable-triggers\n" - " disable triggers during data-only restore\n")); - printf(_(" -X use-set-session-authorization, --use-set-session-authorization\n" + printf(_(" --disable-triggers disable triggers during data-only restore\n")); + printf(_(" --use-set-session-authorization\n" " use SESSION AUTHORIZATION commands instead of\n" " OWNER TO commands\n")); - printf(_(" -X no-data-for-failed-tables\n" + printf(_(" --no-data-for-failed-tables\n" " do not restore data of tables that could not be\n" " created\n")); printf(_(" -1, --single-transaction\n"