From 1161f1ae1474e373ac02fd24898f12d9c7c43436 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 11 Dec 2007 19:01:06 +0000 Subject: [PATCH] Remove the long-deprecated -u option from psql, since it does nothing very useful and confuses people who think it is the same as -U. (Eventually we might want to re-introduce it as being an alias for -U, but that should not happen until the switch has actually not been there for a few releases.) Likewise in pg_dump and pg_restore. Per gripe from Robert Treat and subsequent discussion. --- doc/src/sgml/ref/psql-ref.sgml | 20 +---------------- src/bin/pg_dump/pg_dump.c | 9 ++------ src/bin/pg_dump/pg_restore.c | 9 ++------ src/bin/psql/command.c | 7 +++--- src/bin/psql/startup.c | 39 ++++++---------------------------- 5 files changed, 15 insertions(+), 69 deletions(-) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 6cd5f3bfea..63c9c4303c 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -362,24 +362,6 @@ PostgreSQL documentation - - - - - Forces psql to prompt for the user name and - password before connecting to the database. - - - - This option is deprecated, as it is conceptually flawed. - (Prompting for a non-default user name and prompting for a - password because the server requires it are really two different - things.) You are encouraged to look at the and - options instead. - - - - diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 55a502dd71..1342bbaa66 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.479 2007/11/19 23:48:33 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.480 2007/12/11 19:01:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -302,7 +302,7 @@ main(int argc, char **argv) } } - while ((c = getopt_long(argc, argv, "abcCdDE:f:F:h:in:N:oOp:RsS:t:T:uU:vWxX:Z:", + while ((c = getopt_long(argc, argv, "abcCdDE:f:F:h:in:N:oOp:RsS:t:T:U:vWxX:Z:", long_options, &optindex)) != -1) { switch (c) @@ -395,11 +395,6 @@ main(int argc, char **argv) simple_string_list_append(&table_exclude_patterns, optarg); break; - case 'u': - force_password = true; - username = simple_prompt("User name: ", 100, true); - break; - case 'U': username = optarg; break; diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index bd5869a2a6..94f407c45b 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -34,7 +34,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.84 2006/10/14 23:07:22 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.85 2007/12/11 19:01:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -137,7 +137,7 @@ main(int argc, char **argv) } } - while ((c = getopt_long(argc, argv, "acCd:ef:F:h:iI:lL:n:Op:P:RsS:t:T:uU:vWxX:1", + while ((c = getopt_long(argc, argv, "acCd:ef:F:h:iI:lL:n:Op:P:RsS:t:T:U:vWxX:1", cmdopts, NULL)) != -1) { switch (c) @@ -223,11 +223,6 @@ main(int argc, char **argv) opts->tableNames = strdup(optarg); break; - case 'u': - opts->requirePassword = true; - opts->username = simple_prompt("User name: ", 100, true); - break; - case 'U': opts->username = optarg; break; diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 19d9d5141e..0c496ec86e 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2007, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.184 2007/12/09 19:01:40 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.185 2007/12/11 19:01:06 tgl Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -1081,8 +1081,9 @@ prompt_for_password(const char *username) { char *prompt_text; - prompt_text = malloc(strlen(username) + 32); - sprintf(prompt_text, "Password for user \"%s\": ", username); + prompt_text = malloc(strlen(username) + 100); + snprintf(prompt_text, strlen(username) + 100, + _("Password for user %s: "), username); result = simple_prompt(prompt_text, 100, false); free(prompt_text); } diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 5c5ce5487e..32f8dcd59c 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2007, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.143 2007/12/09 19:04:47 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.144 2007/12/11 19:01:06 tgl Exp $ */ #include "postgres_fe.h" @@ -104,8 +104,6 @@ main(int argc, char *argv[]) { struct adhoc_opts options; int successResult; - - char *username = NULL; char *password = NULL; char *password_prompt = NULL; bool new_pass; @@ -176,26 +174,14 @@ main(int argc, char *argv[]) if (!pset.popt.topt.recordSep) pset.popt.topt.recordSep = pg_strdup(DEFAULT_RECORD_SEP); - if (options.username) - { - /* - * The \001 is a hack to support the deprecated -u option which issues - * a username prompt. The recommended option is -U followed by the - * name on the command line. - */ - if (strcmp(options.username, "\001") == 0) - username = simple_prompt("User name: ", 100, true); - else - username = pg_strdup(options.username); - } - if (options.username == NULL) password_prompt = pg_strdup(_("Password: ")); else { password_prompt = malloc(strlen(_("Password for user %s: ")) - 2 + - strlen(username) + 1); - sprintf(password_prompt, _("Password for user %s: "), username); + strlen(options.username) + 1); + sprintf(password_prompt, _("Password for user %s: "), + options.username); } if (pset.getPassword) @@ -208,7 +194,7 @@ main(int argc, char *argv[]) pset.db = PQsetdbLogin(options.host, options.port, NULL, NULL, options.action == ACT_LIST_DB && options.dbname == NULL ? "postgres" : options.dbname, - username, password); + options.username, password); if (PQstatus(pset.db) == CONNECTION_BAD && PQconnectionNeedsPassword(pset.db) && @@ -221,7 +207,6 @@ main(int argc, char *argv[]) } } while (new_pass); - free(username); free(password); free(password_prompt); @@ -446,11 +431,10 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) extern char *optarg; extern int optind; int c; - bool used_old_u_option = false; memset(options, 0, sizeof *options); - while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:uU:v:VWxX?1", + while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VWxX?1", long_options, &optindex)) != -1) { switch (c) @@ -551,13 +535,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) case 'T': pset.popt.topt.tableAttr = pg_strdup(optarg); break; - case 'u': - pset.getPassword = true; - options->username = "\001"; /* hopefully nobody has that - * username */ - /* this option is out */ - used_old_u_option = true; - break; case 'U': options->username = optarg; break; @@ -644,10 +621,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) optind++; } - - if (used_old_u_option && !pset.quiet) - fprintf(stderr, _("%s: Warning: The -u option is deprecated. Use -U.\n"), pset.progname); - }