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 6cd5f3bfea52e0672df5ac7d7b1861b7306b2400..63c9c4303cbd1355d460ff2320ea43e4623fe7bc 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.196 2007/10/29 17:29:59 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.197 2007/12/11 19:01:06 tgl Exp $
 PostgreSQL documentation
 -->
 
@@ -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 55a502dd7173074023fc60a61856ef384654d4fb..1342bbaa66b2862d8eaf6c26c0226c5515fe8c1f 100644 (file)
@@ -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;
index bd5869a2a6f7d903391dd6078359193b6417bfba..94f407c45b5e7cf62e9d7563dee8c709444401f9 100644 (file)
@@ -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;
index 19d9d5141e76ac00a7e90780cb9de6778bc5548c..0c496ec86ec924cd670d6dd57e4fb618cb138f51 100644 (file)
@@ -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);
    }
index 5c5ce5487e086e39be7c593fefa332a5f0a8790a..32f8dcd59ca9ba94b3b0e0c04cf4235d32c44149 100644 (file)
@@ -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);
-
 }