Alvaro Herrera wrote:
> 
> I'm OK with thisG but please move the printSSLInfo() call just before
> echoing the help line.

Oh, good catch, moved.  I also moved the Win32 code page message up too.
Patch attached.

I hacked up an example that shows both SSL and Win32 code page messages:

        $ psql test
        psql (8.4devel)
                SSL connection (cipher: 2343, bits: 512)
                WARNING: Console code page (323) differs from Windows code page 
(2323)
                         8-bit characters might not work correctly. See psql 
reference
                         page "Notes for Windows users" for details.
        Type "help" for help.
        
        test=>

With major version mismatches it looks like this:

        $ psql test
        psql (8.4devel)
                SSL connection (cipher: 2343, bits: 512)
                WARNING: Console code page (323) differs from Windows code page 
(2323)
                         8-bit characters might not work correctly. See psql 
reference
                         page "Notes for Windows users" for details.
                WARNING: psql version 8.4.0, server version 8.3.1.
                         Some psql features might not work.
        Type "help" for help.
        
        test=>

By indenting those messages the 'help' message still stands out. 
Adjustments?

-- 
  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 19:17:27 -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 19:17:27 -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 19:17:27 -0000
***************
*** 300,305 ****
--- 300,312 ----
  		{
  			int			client_ver = parse_version(PG_VERSION);
  
+ #ifdef USE_SSL
+ 			printSSLInfo();
+ #endif
+ #ifdef WIN32
+ 			checkWin32Codepage();
+ #endif
+ 
  			if (pset.sversion != client_ver)
  			{
  				const char *server_version;
***************
*** 317,349 ****
  					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();
! #endif
! #ifdef WIN32
! 			checkWin32Codepage();
! #endif
  		}
  
  		if (!pset.notty)
--- 324,342 ----
  					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"
! 					 "\t         Some 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"));
  		}
  
  		if (!pset.notty)
***************
*** 707,713 ****
  		return;					/* no SSL */
  
  	SSL_get_cipher_bits(ssl, &sslbits);
! 	printf(_("SSL connection (cipher: %s, bits: %i)\n\n"),
  		   SSL_get_cipher(ssl), sslbits);
  }
  #endif
--- 700,706 ----
  		return;					/* no SSL */
  
  	SSL_get_cipher_bits(ssl, &sslbits);
! 	printf(_("\tSSL connection (cipher: %s, bits: %i)\n"),
  		   SSL_get_cipher(ssl), sslbits);
  }
  #endif
***************
*** 729,737 ****
  	concp = GetConsoleCP();
  	if (wincp != concp)
  	{
! 		printf(_("Warning: Console code page (%u) differs from Windows code page (%u)\n"
! 				 "         8-bit characters might not work correctly. See psql reference\n"
! 			   "         page \"Notes for Windows users\" for details.\n\n"),
  			   concp, wincp);
  	}
  }
--- 722,730 ----
  	concp = GetConsoleCP();
  	if (wincp != concp)
  	{
! 		printf(_("\tWARNING: Console code page (%u) differs from Windows code page (%u)\n"
! 				 "\t         8-bit characters might not work correctly. See psql reference\n"
! 			     "\t         page \"Notes for Windows users\" for details.\n"),
  			   concp, wincp);
  	}
  }
-- 
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