Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Oh, good point.  Let me look at that.  Thanks.  You prefer:
> 
> >     $ sql test
> >     psql (8.4devel)
> >     Type "help" for help.
> 
> >     test=> help
> 
> Well, the question is still "where is the optional info going to go?"
> 
> I think what I'd find nice looking is
> 
>       $ psql test
>       psql 8.4devel  [ server version warning here, if needed ]
>       [ line with SSL info here, if needed ]
>       Type "help" for help.
> 
>       test=> 
> 
> I do feel that the help statement ought to be on its own line;
> the other way is going to look cluttered, particularly as soon
> as there's a version warning in there.

OK, here is the normal startup now:

        $ sql test
        psql (8.4.0)
        Type "help" for help.
        
        test=>

Here is a minor version mismatch:

        $ sql test
        psql (8.4.0, server 8.4.1)
        Type "help" for help.
        
        test=>

Here is a major version mismatch:

        $ sql test
        psql (8.4.0, server 8.3.1)
                WARNING: psql version 8.4.0, server version 8.3.1.
                Some psql features might not work.
        Type "help" for help.
        
        test=>

I have also added '\g' to the 'help' display:

        test=> help
        
        You are using psql, the command-line interface to PostgreSQL.
                \? for psql help
                \h or \help for SQL help
        
                \g or ";" to execute a query
                \q to quit psql
        
                \copyright to view the copyright
        
        test=>

I don't know how to generate an SSL message.

With the new smaller \? "General" section, I though it was worth
considering if we still want to do the help banner the same.  Obviously
we do, but I wanted to explore it.

Patch attached.

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/bin/psql/help.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/help.c,v
retrieving revision 1.127
diff -c -c -r1.127 help.c
*** src/bin/psql/help.c 14 May 2008 15:30:22 -0000      1.127
--- src/bin/psql/help.c 15 May 2008 16:05:51 -0000
***************
*** 170,182 ****
         */
        fprintf(output, _("General\n"));
        fprintf(output, _("  \\copyright     show PostgreSQL usage and 
distribution terms\n"));
        fprintf(output, _("  \\h [NAME]      help on syntax of SQL commands, * 
for all commands\n"));
        fprintf(output, _("  \\q             quit psql\n"));
        fprintf(output, "\n");
  
        fprintf(output, _("Query Buffer\n"));
        fprintf(output, _("  \\e [FILE]      edit the query buffer (or file) 
with external editor\n"));
-       fprintf(output, _("  \\g [FILE]      send query buffer to server (and 
results to file or |pipe)\n"));
        fprintf(output, _("  \\p             show the contents of the query 
buffer\n"));
        fprintf(output, _("  \\r             reset (clear) the query 
buffer\n"));
  #ifdef USE_READLINE
--- 170,182 ----
         */
        fprintf(output, _("General\n"));
        fprintf(output, _("  \\copyright     show PostgreSQL usage and 
distribution terms\n"));
+       fprintf(output, _("  \\g [FILE] or ; execute query (and send results to 
file or |pipe)\n"));
        fprintf(output, _("  \\h [NAME]      help on syntax of SQL commands, * 
for all commands\n"));
        fprintf(output, _("  \\q             quit psql\n"));
        fprintf(output, "\n");
  
        fprintf(output, _("Query Buffer\n"));
        fprintf(output, _("  \\e [FILE]      edit the query buffer (or file) 
with external editor\n"));
        fprintf(output, _("  \\p             show the contents of the query 
buffer\n"));
        fprintf(output, _("  \\r             reset (clear) the query 
buffer\n"));
  #ifdef USE_READLINE
Index: src/bin/psql/mainloop.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/mainloop.c,v
retrieving revision 1.90
diff -c -c -r1.90 mainloop.c
*** src/bin/psql/mainloop.c     5 Apr 2008 03:40:15 -0000       1.90
--- src/bin/psql/mainloop.c     15 May 2008 16:05:51 -0000
***************
*** 177,186 ****
                        (line[4] == '\0' || line[4] == ';' || isspace((unsigned 
char) line[4])))
                {
                        free(line);
!                       puts(_("You are using psql, the command-line interface 
to PostgreSQL."));
!                       puts(_("Enter SQL commands, or type \\? for a list of 
backslash options."));
!                       puts(_("Use \\h for SQL command help."));
!                       puts(_("Use \\q to quit."));
                        fflush(stdout);
                        continue;
                }
--- 177,189 ----
                        (line[4] == '\0' || line[4] == ';' || isspace((unsigned 
char) line[4])))
                {
                        free(line);
!                       puts(_("\nYou are using psql, the command-line 
interface to PostgreSQL."));
!                       puts(_("\t\\? for psql help"));
!                       puts(_("\t\\h or \\help for SQL help\n"));
!                       puts(_("\t\\g or \";\" to execute a query"));
!                       puts(_("\t\\q to quit psql\n"));
!                       puts(_("\t\\copyright to view the copyright\n"));
! 
                        fflush(stdout);
                        continue;
                }
Index: src/bin/psql/startup.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/startup.c,v
retrieving revision 1.147
diff -c -c -r1.147 startup.c
*** src/bin/psql/startup.c      8 May 2008 17:04:26 -0000       1.147
--- src/bin/psql/startup.c      15 May 2008 16:05:52 -0000
***************
*** 317,342 ****
                                        server_version = server_ver_str;
                                }
  
!                               printf(_("Welcome to %s %s (server %s), the 
PostgreSQL interactive terminal.\n\n"),
!                                          pset.progname, PG_VERSION, 
server_version);
                        }
                        else
!                               printf(_("Welcome to %s %s, the PostgreSQL 
interactive terminal.\n\n"),
!                                          pset.progname, PG_VERSION);
! 
!                       printf(_("Type:  \\copyright for distribution terms\n"
!                                        "       \\h for help with SQL 
commands\n"
!                                        "       \\? for help with psql 
commands\n"
!                                 "       \\g or terminate with semicolon to 
execute query\n"
!                                        "       \\q to quit\n\n"));
  
                        if (pset.sversion / 100 != client_ver / 100)
!                               printf(_("WARNING:  You are connected to a 
server with major version %d.%d,\n"
!                                                "but your %s client is major 
version %d.%d.  Some backslash commands,\n"
!                                                "such as \\d, might not work 
properly.\n\n"),
!                                          pset.sversion / 10000, 
(pset.sversion / 100) % 100,
!                                          pset.progname,
!                                          client_ver / 10000, (client_ver / 
100) % 100);
  
  #ifdef USE_SSL
                        printSSLInfo();
--- 317,335 ----
                                        server_version = server_ver_str;
                                }
  
!                               printf(_("%s (%s, server %s)\n"), 
!                               pset.progname, PG_VERSION, server_version);
                        }
                        else
!                               printf("%s (%s)\n", pset.progname, PG_VERSION);
  
                        if (pset.sversion / 100 != client_ver / 100)
!                               printf(_("\tWARNING: %s version %d.%d, server 
version %d.%d.\n"
!                                        "\tSome psql features might not 
work.\n"),
!                                       pset.progname, client_ver / 10000, 
(client_ver / 100) % 100,
!                                       pset.sversion / 10000, (pset.sversion / 
100) % 100);
! 
!                       printf(_("Type \"help\" for help.\n\n"));
  
  #ifdef USE_SSL
                        printSSLInfo();
-- 
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Reply via email to