Hello I am sending little bit modified patch by Fujii' comments - but I am not able to fix it more - it is task for someone with better English skill then I have
Regards Pavel 2014-06-23 10:02 GMT+02:00 Fujii Masao <masao.fu...@gmail.com>: > On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: > > Hello > > > > third version with Erik's update > > Here are some my comments: > > The document of psql needs to be updated. At least the description of new > option > this patch adds needs to be added into the document. > > + printf(_(" --help-variables list of available > configuration variables (options), then exit\n")); > > We should get rid of "of" from the message, or add "show" in front of > "list of"? > > + printf(_(" ECHO write all input lines to standard > output\n")); > > This message seems not to be correct when ECHO=queries is set. > > + printf(_(" COMP_KEYWORD_CASE determines which letter case to > use when completing an SQL key word\n")); > + printf(_(" DBNAME name of currently connected > database\n")); > + printf(_(" ECHO write all input lines to standard > output\n")); > > I found that some help message line uses a normal form of a verb, but > other does not. > We should standardize them? > > + printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); > > When the option name field is long, we should add a new line just > after the name field > and align the starting position of the option explanation field. That is, > for example, the above should be > > printf(_(" PROMPT1, PROMPT2, PROMPT3\n" > " specify the psql prompt\n")); > > + printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); > > This message seems incorrect to me. When this option is on and an error > occurs > in transaction, transaction continues rather than ROLLBACK occurs, IIUC. > I did not check whole help messages yet, but ISTM some messages are not > correct. > It's better to check them again. > > + printf(_(" PSQL_RC alternative location of the user's > .psqlrc file\n")); > > Typo: PSQL_RC should be PSQLRC > > + printf(_(" PGDATABASE same as the dbname connection > parameter\n")); > + printf(_(" PGHOST same as the host connection > parameter\n")); > + printf(_(" PGPORT same as the port connection > parameter\n")); > + printf(_(" PGUSER same as the user connection > parameter\n")); > + printf(_(" PGPASSWORD possibility to set password (not > recommended)\n")); > + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); > > I don't think that psql needs to display the help messages of even > environment > variables supported by libpq. > > Regards, > > -- > Fujii Masao >
commit 4d8a267870f15a22818da226f72223db86944636 Author: Pavel Stehule <pavel.steh...@gooddata.com> Date: Mon Jun 23 19:38:41 2014 +0200 without comments diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..e960f34 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --version output version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,84 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of variables (options) for use from command line.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO controls what input can be writtent to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDEN display internal queries (same as -E option)\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNT fetch many rows at a time (use less memory) (default 0 unlimited)\n")); + printf(_(" HISTCONTROL when set, controls history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOID the value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when on, the error doesn't break transaction (due implicit SAVEPOINs)\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT the database server port\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3\n" + " specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP confirm each query mode (same as -s option)\n")); + printf(_(" USER the database user currently connected\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border border style (number)\n")); + printf(_(" fieldsep field separator for unaligned output (default '|')\n")); + printf(_(" fieldsep_zero set field separator in unaligned mode to zero\n")); + printf(_(" format set output format [unaligned, aligned, wrapped, html, latex, ..]\n")); + printf(_(" linestyle sets the border line drawing style [ascii, old-ascii, unicode]\n")); + printf(_(" null sets the string to be printed in place of a null value\n")); + printf(_(" pager when the pager option is off, the pager program is not used\n")); + printf(_(" recordsep specifies the record (line) separator to use in unaligned output format\n")); + printf(_(" recordsep_zero record separator be in unaligned output format a zero byte\n")); + printf(_(" title sets the table title for any subsequently printed tables\n")); + printf(_(" tuples_only in tuples-only mode, only actual table data is shown\n")); + + printf(_("\nEnvironment options:\n")); + printf(_("Usage:\n")); + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] in interactive mode\n\n")); + + printf(_(" COLUMNS number of columns for wrapped format\n")); + printf(_(" PAGER used pager\n")); + printf(_(" PGDATABASE same as the dbname connection parameter\n")); + printf(_(" PGHOST same as the host connection parameter\n")); + printf(_(" PGPORT same as the port connection parameter\n")); + printf(_(" PGUSER same as the user connection parameter\n")); + printf(_(" PGPASSWORD possibility to set password (not recommended)\n")); + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); + printf(_(" PSQL_EDITOR, EDITOR, VISUAL\n" + " editor used by \\e \\ef commands\n")); + printf(_(" PSQL_EDITOR_LINE_NUMBER_ARG\n" + " style how line number is used in editor\n")); + printf(_(" PSQL_HISTORY alternative location for the command history file\n")); + printf(_(" PSQLRC alternative location of the user's .psqlrc file\n")); + printf(_(" SHELL command executed by the \\! command\n")); + printf(_(" TMPDIR directory for storing temporary files\n")); + + printf(_("\nFor more information consult the psql section in the PostgreSQL\n" + "documentation.\n\n")); + printf(_("Report bugs to <pgsql-b...@postgresql.org>.\n")); +} + /* * helpSQL -- help with SQL commands diff --git a/src/bin/psql/help.h b/src/bin/psql/help.h index 054d5a4..e7affff 100644 --- a/src/bin/psql/help.h +++ b/src/bin/psql/help.h @@ -12,6 +12,8 @@ void usage(void); void slashUsage(unsigned short int pager); +void help_variables(void); + void helpSQL(const char *topic, unsigned short int pager); void print_copyright(void); diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 45653a1..d911159 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -383,6 +383,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) {"expanded", no_argument, NULL, 'x'}, {"no-psqlrc", no_argument, NULL, 'X'}, {"help", no_argument, NULL, '?'}, + {"help-variables", no_argument, NULL, 1}, {NULL, 0, NULL, 0} }; @@ -566,6 +567,9 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) exit(EXIT_FAILURE); } break; + case 1: + help_variables(); + exit(EXIT_SUCCESS); default: fprintf(stderr, _("Try \"%s --help\" for more information.\n"), pset.progname);
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers