Remove the long-deprecated -u option from psql, since it does nothing very
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Dec 2007 19:01:06 +0000 (19:01 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Dec 2007 19:01:06 +0000 (19:01 +0000)
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
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_restore.c
src/bin/psql/command.c
src/bin/psql/startup.c

index b7da22cf3df05c8046945a003b2130419edf9010..c1ab88410a74fcd742ae9707f499c22e28884da1 100644 (file)
@@ -362,24 +362,6 @@ PostgreSQL documentation
       </listitem>
     </varlistentry>
 
-    <varlistentry>
-      <term><option>-u</></term>
-      <listitem>
-      <para>
-      Forces <application>psql</application> to prompt for the user name and
-      password before connecting to the database.
-      </para>
-
-      <para>
-      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 <option>-U</option> and
-      <option>-W</option> options instead.
-      </para>
-      </listitem>
-    </varlistentry>
-
     <varlistentry>
       <term><option>-U <replaceable class="parameter">username</replaceable></></term>
       <term><option>--username <replaceable class="parameter">username</replaceable></></term>
index 2825e6c465c1985cddd65cad22bb7d8417942a65..aa09b3ddba1f578d845ac30f046aba36e624a071 100644 (file)
@@ -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;
index baa150ce772e9e6100ccd07f01cc82c4f533aa78..0e8433f07372c2e7b7c2dc62dabbf5f6a25c3166 100644 (file)
@@ -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;
index c63f70e1a69575e7e2cd3cc5dcf3aa3268707c2d..a40803203407886bed555a0ad92d9e6a456550c1 100644 (file)
@@ -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);
        }
index fd9dcc212499b9fdd85dc68a9de0b559eabbef72..7eb918c4de4d1b213ee59ed169e4ff43c7cbef92 100644 (file)
@@ -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);
-
 }