Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-10 Thread Pavel Stehule
2014-09-10 0:13 GMT+02:00 Andres Freund and...@2ndquadrant.com:

 On 2014-09-09 22:22:45 +0200, Andres Freund wrote:
  I plan to push this soon.

 Done.

 Thanks for the patch!


Thank you very much

Pavel



 Andres Freund

 --
  Andres Freund http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training  Services



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-09 Thread Andres Freund
On 2014-08-28 13:54:28 +0200, Andres Freund wrote:
 On 2014-08-28 13:20:07 +0200, Andres Freund wrote:
  I've attached a incremental patch.
 
 Apparently I didn't attach the patch, as so much a file containing the
 name of the patchfile...

Which you obviously didn't integrate. And didn't comment on. Grr.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-09 Thread Andres Freund
Hi,

Given we already have three topics for --help and I can see others I
went with my --help= proposal.

On 2014-08-28 13:20:07 +0200, Andres Freund wrote:
 Some stuff I changed:
 * I rephrased the sgml changes
 * s/Printing options/Display options/. Or maybe Display influencing
   variables? That makes it clearer why they're listed under
   --help-variables.
 * I added \? commands as an alias for a plain \?
   That way the scheme can sensibly be expanded.
 * I renamed help_variables() to be inline with the surrounding functions.

I integrated all those ontop of your help-variables-12.patch.

Then I:
* re-added psql -i which you, probably accidentally, removed
* rephrased the sgml stuff
* removed the Report bugs to  from helpVariables()
* Changed things so that both --help and \? support commands,
  options and variables as help topics
* fixed things so that --help=wrongoption returns a proper exit code
  again

I attached both the full and the incremental diff. I'd appreciate
somebody looking over the the docs...

I plan to push this soon.

Greetings,

Andres Freund

--
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services
From 9fcf3f0983ccd617c20dc4e87889a894d873b92e Mon Sep 17 00:00:00 2001
From: Andres Freund and...@anarazel.de
Date: Tue, 9 Sep 2014 22:19:14 +0200
Subject: [PATCH] Add new psql help topics, accessible to both --help and \?.

Add --help=topic for the commandline, and \? topic as a backslash
command, to show more help than the invocations without parameters
do. commands, variables and options currently exist as help
topics describing, respectively, backslash commands, psql variables,
and commandline switches. Without parameters the help commands show
their previous topic.

Author: Pavel Stehule, editorialized by many

Reviewed-By: Andres Freund, Petr Jelinek, Fujii Masao, MauMau, Abhijit
Menon-Sen and Erik Rijkers.

Discussion: CAFj8pRDVGuC-nXBfe2CK8vpyzd2Dsr9GVpbrATAnZO=2yq0...@mail.gmail.com,
cafj8pra54abtv2rxdtrxiad8hy8wxmovlqhjdrcwenhdd7o...@mail.gmail.com
---
 doc/src/sgml/ref/psql-ref.sgml |  23 -
 src/bin/psql/command.c |  14 ++-
 src/bin/psql/help.c| 210 +++--
 src/bin/psql/help.h|   4 +-
 src/bin/psql/startup.c |  29 --
 src/bin/psql/tab-complete.c|   7 ++
 6 files changed, 224 insertions(+), 63 deletions(-)

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 29ad1aa..aa71674 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -560,11 +560,17 @@ EOF
 
 varlistentry
   termoption-?//term
-  termoption--help//term
+  termoption--help[=replaceable class=parametertopic/]/option/term
   listitem
   para
-  Show help about applicationpsql/application command line
-  arguments, and exit.
+  Show help about applicationpsql/application and exit. The optional
+  replaceable class=parametertopic/ parameter (defaulting
+  to literaloptions/literal) selects which part of psql is
+  explained: literalcommands/ describes applicationpsql/'s
+  backslash commands; literaloptions/ describes the commandline
+  switches that can be passed to applicationpsql/;
+  and literalvariables/ shows help about about psql configuration
+  variables.
   /para
   /listitem
 /varlistentry
@@ -2574,10 +2580,17 @@ testdb=gt; userinput\setenv LESS -imx4F/userinput
 
 
   varlistentry
-termliteral\?/literal/term
+termliteral\? [ replaceable class=parametertopic/ ]/literal/term
 listitem
 para
-Shows help information about the backslash commands.
+Shows help information. The optional
+replaceable class=parametertopic/ parameter
+(defaulting to literalcommands/) selects which part of psql is
+explained: literalcommands/ describes applicationpsql/'s
+backslash commands; literaloptions/ describes the commandline
+switches that can be passed to applicationpsql/;
+and literalvariables/ shows help about about psql configuration
+variables.
 /para
 /listitem
   /varlistentry
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 39b5777..5d90ca2 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1491,7 +1491,19 @@ exec_command(const char *cmd,
 
 	/* \? -- slash command help */
 	else if (strcmp(cmd, ?) == 0)
-		slashUsage(pset.popt.topt.pager);
+	{
+		char	   *opt0 = psql_scan_slash_option(scan_state,
+	OT_NORMAL, NULL, false);
+
+		if (!opt0 || strcmp(opt0, commands) == 0)
+			slashUsage(pset.popt.topt.pager);
+		else if (strcmp(opt0, options) == 0)
+			usage(pset.popt.topt.pager);
+		else if (strcmp(opt0, variables) == 0)
+			helpVariables(pset.popt.topt.pager);
+		else
+			slashUsage(pset.popt.topt.pager);
+	}
 
 #if 0
 
diff --git a/src/bin/psql/help.c 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-09 Thread Andres Freund
On 2014-09-09 22:22:45 +0200, Andres Freund wrote:
 I plan to push this soon.

Done.

Thanks for the patch!

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-04 Thread Pavel Stehule
Hi

here is a second variant with support --help=variables

Regards

Pavel


2014-09-04 4:25 GMT+02:00 Robert Haas robertmh...@gmail.com:

 On Thu, Aug 28, 2014 at 11:20 AM, Andres Freund and...@2ndquadrant.com
 wrote:
  * How about making it --help=variables instead of --help-variables?
 
  -1, help is not a variable to be assigned imho
 
  I don't think variable assignment is a good mental model for long
  commandline arguments. And it's not like I'm the first to come up with
  an extensible --help. Check e.g. gcc.
 
  But anyway, I guess I've lost that argument.

 I think it mostly depends on how far we think we might extend it.  I
 mean, --help-variables is fine as a parallel to --help.  But if we're
 eventually going to have help for 12 things, --help=TOPIC is a lot
 better than 12 separate switches.  So +0.5 for your proposal from me.

 --
 Robert Haas
 EnterpriseDB: http://www.enterprisedb.com
 The Enterprise PostgreSQL Company

commit cac76b6135ae9f4b3c1eab1ce6bc34b43a7506ef
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Wed Aug 27 22:47:07 2014 +0200

access to help_variables and usage from psql via psql command

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index db314c3..05a0f01 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -560,11 +560,18 @@ EOF
 varlistentry
   termoption-?//term
   termoption--help//term
+  termoption--help=replaceable class=parametertopic/replaceable/option/term
   listitem
   para
   Show help about applicationpsql/application command line
   arguments, and exit.
   /para
+
+  para
+  option--help=variables/show help about applicationpsql/application variables,
+  and exit.
+  /para
+
   /listitem
 /varlistentry
 
@@ -2572,10 +2579,12 @@ testdb=gt; userinput\setenv LESS -imx4F/userinput
 
 
   varlistentry
-termliteral\?/literal/term
+termliteral\? [ options | variables ]/literal/term
 listitem
 para
-Shows help information about the backslash commands.
+Shows help information about the backslash commands.  This command can have a
+option variables or options to take help for psql configuration variables
+or psql command line options.
 /para
 /listitem
   /varlistentry
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index e16b4d5..987a79f 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1503,7 +1503,19 @@ exec_command(const char *cmd,
 
 	/* \? -- slash command help */
 	else if (strcmp(cmd, ?) == 0)
-		slashUsage(pset.popt.topt.pager);
+	{
+		char	   *opt0 = psql_scan_slash_option(scan_state,
+	OT_NORMAL, NULL, false);
+
+		if (!opt0)
+			slashUsage(pset.popt.topt.pager);
+		else if (strcmp(opt0, variables) == 0)
+			help_variables(pset.popt.topt.pager);
+		else if (strcmp(opt0, options) == 0)
+			usage(pset.popt.topt.pager);
+		else
+			slashUsage(pset.popt.topt.pager);
+	}
 
 #if 0
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index f8f000f..0ada015 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -46,11 +46,12 @@
 #define ON(var) (var ? _(on) : _(off))
 
 void
-usage(void)
+usage(unsigned short int pager)
 {
 	const char *env;
 	const char *user;
 	char	   *errstr;
+	FILE	   *output;
 
 	/* Find default user, in case we need it. */
 	user = getenv(PGUSER);
@@ -64,77 +65,82 @@ usage(void)
 		}
 	}
 
-	printf(_(psql is the PostgreSQL interactive terminal.\n\n));
-	printf(_(Usage:\n));
-	printf(_(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
+	output = PageOutput(59, pager);
+
+	fprintf(output, _(psql is the PostgreSQL interactive terminal.\n\n));
+	fprintf(output, _(Usage:\n));
+	fprintf(output, _(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
 
-	printf(_(General options:\n));
+	fprintf(output, _(General options:\n));
 	/* Display default database */
 	env = getenv(PGDATABASE);
 	if (!env)
 		env = user;
-	printf(_(  -c, --command=COMMANDrun only single command (SQL or internal) and exit\n));
-	printf(_(  -d, --dbname=DBNAME  database name to connect to (default: \%s\)\n), env);
-	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));
-	printf(_(  -V, --versionoutput version information, then exit\n));
-	printf(_(  -X, --no-psqlrc  do not read startup file (~/.psqlrc)\n));
-	printf(_(  -1 (\one\), --single-transaction\n
+	fprintf(output, _(  -c, --command=COMMANDrun only single command (SQL or internal) and exit\n));
+	fprintf(output, _(  -d, --dbname=DBNAME  database name to connect to (default: \%s\)\n), env);
+	fprintf(output, _(  -f, --file=FILENAME  execute commands from file, then exit\n));
+	fprintf(output, _(  

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-03 Thread Pavel Stehule
Hello

fixed ECHO, ECHO_HIDDEN, PROPMPT

Regards

Pavel



2014-09-01 11:52 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Thu, Aug 28, 2014 at 9:34 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
 
 
 
  2014-08-28 14:22 GMT+02:00 Fujii Masao masao.fu...@gmail.com:
 
  On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule pavel.steh...@gmail.com
 
  wrote:
   comments?
 
  +fprintf(output, _(  ECHO   control what input is
  written to standard output [all, queries]\n));
 
  The valid values in the help messages should be consistent with
  the values that the tab-completion displays. So in the case of ECHO,
  errors and none also should be added in the message. Thought?
 
  In the help messages of some psql variables like ECHO_HIDDEN, valid
  values are not explained. Why not?
 
 
  it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html
 
  ECHO_HIDDEN
 
  When this variable is set and a backslash command queries the database,
 the
  query is first shown. This way you can study the PostgreSQL internals and
  provide similar functionality in your own programs. (To select this
 behavior
  on program start-up, use the switch -E.) If you set the variable to the
  value noexec, the queries are just shown but are not actually sent to the
  server and executed.
 
  There are no clear a set of valid values :( .. When I found a known
 fields
  in doc, I used it.

 At least noexec seems to be documented as a valid value. Of course,
 it's better to document other valid values.

 Regards,

 --
 Fujii Masao

commit 17a0708a0466cc8ff9e8debd0a7e9062eebe3a61
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Wed Aug 27 22:47:07 2014 +0200

access to help_variables and usage from psql via psql command

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index db314c3..9bb14e9 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -568,6 +568,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
@@ -2572,10 +2581,12 @@ testdb=gt; userinput\setenv LESS -imx4F/userinput
 
 
   varlistentry
-termliteral\?/literal/term
+termliteral\? [ options | variables ]/literal/term
 listitem
 para
-Shows help information about the backslash commands.
+Shows help information about the backslash commands.  This command can have a
+option variables or options to take help for psql configuration variables
+or psql command line options.
 /para
 /listitem
   /varlistentry
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index e16b4d5..987a79f 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1503,7 +1503,19 @@ exec_command(const char *cmd,
 
 	/* \? -- slash command help */
 	else if (strcmp(cmd, ?) == 0)
-		slashUsage(pset.popt.topt.pager);
+	{
+		char	   *opt0 = psql_scan_slash_option(scan_state,
+	OT_NORMAL, NULL, false);
+
+		if (!opt0)
+			slashUsage(pset.popt.topt.pager);
+		else if (strcmp(opt0, variables) == 0)
+			help_variables(pset.popt.topt.pager);
+		else if (strcmp(opt0, options) == 0)
+			usage(pset.popt.topt.pager);
+		else
+			slashUsage(pset.popt.topt.pager);
+	}
 
 #if 0
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index f8f000f..4f29f2a 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -46,11 +46,12 @@
 #define ON(var) (var ? _(on) : _(off))
 
 void
-usage(void)
+usage(unsigned short int pager)
 {
 	const char *env;
 	const char *user;
 	char	   *errstr;
+	FILE	   *output;
 
 	/* Find default user, in case we need it. */
 	user = getenv(PGUSER);
@@ -64,77 +65,82 @@ usage(void)
 		}
 	}
 
-	printf(_(psql is the PostgreSQL interactive terminal.\n\n));
-	printf(_(Usage:\n));
-	printf(_(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
+	output = PageOutput(59, pager);
+
+	fprintf(output, _(psql is the PostgreSQL interactive terminal.\n\n));
+	fprintf(output, _(Usage:\n));
+	fprintf(output, _(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
 
-	printf(_(General options:\n));
+	fprintf(output, _(General options:\n));
 	/* Display default database */
 	env = getenv(PGDATABASE);
 	if (!env)
 		env = user;
-	printf(_(  -c, --command=COMMANDrun only single command (SQL or internal) and exit\n));
-	printf(_(  -d, --dbname=DBNAME  database name to connect to (default: \%s\)\n), env);
-	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));
-	printf(_(  -V, --versionoutput version information, then exit\n));
-	printf(_(  -X, 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-03 Thread Robert Haas
On Thu, Aug 28, 2014 at 11:20 AM, Andres Freund and...@2ndquadrant.com wrote:
 * How about making it --help=variables instead of --help-variables?

 -1, help is not a variable to be assigned imho

 I don't think variable assignment is a good mental model for long
 commandline arguments. And it's not like I'm the first to come up with
 an extensible --help. Check e.g. gcc.

 But anyway, I guess I've lost that argument.

I think it mostly depends on how far we think we might extend it.  I
mean, --help-variables is fine as a parallel to --help.  But if we're
eventually going to have help for 12 things, --help=TOPIC is a lot
better than 12 separate switches.  So +0.5 for your proposal from me.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-09-01 Thread Fujii Masao
On Thu, Aug 28, 2014 at 9:34 PM, Pavel Stehule pavel.steh...@gmail.com wrote:



 2014-08-28 14:22 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
  comments?

 +fprintf(output, _(  ECHO   control what input is
 written to standard output [all, queries]\n));

 The valid values in the help messages should be consistent with
 the values that the tab-completion displays. So in the case of ECHO,
 errors and none also should be added in the message. Thought?

 In the help messages of some psql variables like ECHO_HIDDEN, valid
 values are not explained. Why not?


 it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html

 ECHO_HIDDEN

 When this variable is set and a backslash command queries the database, the
 query is first shown. This way you can study the PostgreSQL internals and
 provide similar functionality in your own programs. (To select this behavior
 on program start-up, use the switch -E.) If you set the variable to the
 value noexec, the queries are just shown but are not actually sent to the
 server and executed.

 There are no clear a set of valid values :( .. When I found a known fields
 in doc, I used it.

At least noexec seems to be documented as a valid value. Of course,
it's better to document other valid values.

Regards,

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Andres Freund
Hi,

On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote:
 Hi
 
 I chose \? xxx, because it is related to psql features. I wrote commands:
 
 \? options
 \? variables
 
 comments?

Generall I like it.

Some stuff I changed:
* I rephrased the sgml changes
* s/Printing options/Display options/. Or maybe Display influencing
  variables? That makes it clearer why they're listed under
  --help-variables.
* I added \? commands as an alias for a plain \?
  That way the scheme can sensibly be expanded.
* I renamed help_variables() to be inline with the surrounding functions.

Stuff I wondered about:
* How about making it --help=variables instead of --help-variables? That
* Do we really need the 'Report bugs to' blurb for --help-variables?
* Since we're not exhaustive about documenting environment variales, do
  we really need to document TMPDIR and SHELL?
* Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is
  for already started statements, and PROMPT3 is for COPY FROM STDIN?

Looks like it's commitable next round.

I've attached a incremental patch.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services
0001-help-variables-11.patch

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Fujii Masao
On Thu, Aug 28, 2014 at 8:20 PM, Andres Freund and...@2ndquadrant.com wrote:
 Hi,

 On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote:
 Hi

 I chose \? xxx, because it is related to psql features. I wrote commands:

 \? options
 \? variables

 comments?

 Generall I like it.

 Some stuff I changed:
 * I rephrased the sgml changes
 * s/Printing options/Display options/. Or maybe Display influencing
   variables? That makes it clearer why they're listed under
   --help-variables.
 * I added \? commands as an alias for a plain \?
   That way the scheme can sensibly be expanded.
 * I renamed help_variables() to be inline with the surrounding functions.

 Stuff I wondered about:
 * How about making it --help=variables instead of --help-variables? That
 * Do we really need the 'Report bugs to' blurb for --help-variables?
 * Since we're not exhaustive about documenting environment variales, do
   we really need to document TMPDIR and SHELL?
 * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is
   for already started statements, and PROMPT3 is for COPY FROM STDIN?

 Looks like it's commitable next round.

 I've attached a incremental patch.

ISTM that you failed to attach the right patch.
help-variables-10--11.diff contains only one line.

Regards,

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Andres Freund
On 2014-08-28 13:20:07 +0200, Andres Freund wrote:
 I've attached a incremental patch.

Apparently I didn't attach the patch, as so much a file containing the
name of the patchfile...


Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 6d3189d..b14db45 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -2581,12 +2581,15 @@ testdb=gt; userinput\setenv LESS -imx4F/userinput
 
 
   varlistentry
-termliteral\? [ options | variables ]/literal/term
+termliteral\? [ replaceable class=parametertopic/replaceable ]/literal/term
 listitem
 para
-Shows help information about the backslash commands.  This command can have a
-option variables or options to take help for psql configuration variables
-or psql command line options.
+Shows help information. The parameter
+replaceable class=parametertopic/replaceable can be
+literalcommands/ (the default) to show help about backslash
+commands, literaloptions/ to show information about commandline
+arguments, or literalvariables/ to show information about
+variables influencing applicationpsql/'s behaviour or display.
 /para
 /listitem
   /varlistentry
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 12cbb20..7e4626c 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1507,12 +1507,12 @@ exec_command(const char *cmd,
 		char	   *opt0 = psql_scan_slash_option(scan_state,
 	OT_NORMAL, NULL, false);
 
-		if (!opt0)
+		if (!opt0 || strcmp(opt0, commands) == 0)
 			slashUsage(pset.popt.topt.pager);
-		else if (strcmp(opt0, variables) == 0)
-			help_variables(pset.popt.topt.pager);
 		else if (strcmp(opt0, options) == 0)
 			usage(pset.popt.topt.pager);
+		else if (strcmp(opt0, variables) == 0)
+			helpVariables(pset.popt.topt.pager);
 		else
 			slashUsage(pset.popt.topt.pager);
 	}
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 5e7953d..e0d1d13 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -171,7 +171,7 @@ slashUsage(unsigned short int pager)
 
 	fprintf(output, _(Help\n));
 
-	fprintf(output, _(  \\? description of all psql commands\n));
+	fprintf(output, _(  \\? [commands]  description of all psql commands\n));
 	fprintf(output, _(  \\? options description of psql options\n));
 	fprintf(output, _(  \\? variables   description of all psql configuration variables\n));
 	fprintf(output, _(  \\h [NAME]  help on syntax of SQL commands, * for all commands\n));
@@ -294,10 +294,12 @@ slashUsage(unsigned short int pager)
 
 
 /*
- * show list of available variables (options) from command line
+ * helpVariables
+ *
+ * Show list of available variables (options).
  */
 void
-help_variables(unsigned short int pager)
+helpVariables(unsigned short int pager)
 {
 	FILE	   *output;
 
@@ -335,7 +337,7 @@ help_variables(unsigned short int pager)
 	fprintf(output, _(  USER   the currently connected database user\n));
 	fprintf(output, _(  VERBOSITY  control verbosity of error reports [default, verbose, terse]\n));
 
-	fprintf(output, _(\nPrinting options:\n));
+	fprintf(output, _(\nDisplay influencing variables:\n));
 	fprintf(output, _(Usage:\n));
 	fprintf(output, _(  psql --pset=NAME[=VALUE]\n  or \\pset NAME [VALUE] in interactive mode\n\n));
 
diff --git a/src/bin/psql/help.h b/src/bin/psql/help.h
index bab360d..3ad374a 100644
--- a/src/bin/psql/help.h
+++ b/src/bin/psql/help.h
@@ -12,7 +12,7 @@ void		usage(unsigned short int pager);
 
 void		slashUsage(unsigned short int pager);
 
-void		help_variables(unsigned short int pager);
+void		helpVariables(unsigned short int pager);
 
 void		helpSQL(const char *topic, unsigned short int pager);
 
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index af68e13..0651588 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -574,7 +574,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 }
 break;
 			case 1:
-help_variables(NOPAGER);
+helpVariables(NOPAGER);
 exit(EXIT_SUCCESS);
 			default:
 fprintf(stderr, _(Try \%s --help\ for more information.\n),
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 7a94fa8..da1b984 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -3516,7 +3516,7 @@ psql_completion(const char *text, int start, int end)
 	else if (strcmp(prev_wd, \\?) == 0)
 	{
 		static const char *const my_list[] =
-		{options, variables, NULL};
+		{commands,options, variables, NULL};
 
 		COMPLETE_WITH_LIST_CS(my_list);
 	}

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Pavel Stehule
2014-08-28 13:20 GMT+02:00 Andres Freund and...@2ndquadrant.com:

 Hi,

 On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote:
  Hi
 
  I chose \? xxx, because it is related to psql features. I wrote commands:
 
  \? options
  \? variables
 
  comments?

 Generall I like it.

 Some stuff I changed:
 * I rephrased the sgml changes
 * s/Printing options/Display options/. Or maybe Display influencing
   variables? That makes it clearer why they're listed under
   --help-variables.
 * I added \? commands as an alias for a plain \?
   That way the scheme can sensibly be expanded.
 * I renamed help_variables() to be inline with the surrounding functions.

 Stuff I wondered about:
 * How about making it --help=variables instead of --help-variables? That


I am sorry, I don't like this idea --help-variables is much more usual for
cmd line


 * Do we really need the 'Report bugs to' blurb for --help-variables?



 * Since we're not exhaustive about documenting environment variales, do
   we really need to document TMPDIR and SHELL?
 * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is
   for already started statements, and PROMPT3 is for COPY FROM STDIN?


I don't see TMPDIR, SHELL as really important in this position

Pavel



 Looks like it's commitable next round.

 I've attached a incremental patch.

 Greetings,

 Andres Freund

 --
  Andres Freund http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training  Services



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Petr Jelinek

On 28/08/14 13:20, Andres Freund wrote:

Hi,

Stuff I wondered about:
* How about making it --help=variables instead of --help-variables?


-1, help is not a variable to be assigned imho


* Do we really need the 'Report bugs to' blurb for --help-variables?


Probably not.


* Since we're not exhaustive about documenting environment variales, do
   we really need to document TMPDIR and SHELL?


They are bit more important than most of others, but probably not really 
necessary to be there as they are not psql specific.



* Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is
   for already started statements, and PROMPT3 is for COPY FROM STDIN?


Yes please!

--
 Petr Jelinek  http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Fujii Masao
On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule pavel.steh...@gmail.com wrote:
 comments?

+fprintf(output, _(  ECHO   control what input is
written to standard output [all, queries]\n));

The valid values in the help messages should be consistent with
the values that the tab-completion displays. So in the case of ECHO,
errors and none also should be added in the message. Thought?

In the help messages of some psql variables like ECHO_HIDDEN, valid
values are not explained. Why not?

Regards,

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Pavel Stehule
2014-08-28 14:22 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
  comments?

 +fprintf(output, _(  ECHO   control what input is
 written to standard output [all, queries]\n));

 The valid values in the help messages should be consistent with
 the values that the tab-completion displays. So in the case of ECHO,
 errors and none also should be added in the message. Thought?

 In the help messages of some psql variables like ECHO_HIDDEN, valid
 values are not explained. Why not?


it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html

ECHO_HIDDEN

When this variable is set and a backslash command queries the database, the
query is first shown. This way you can study the PostgreSQL internals and
provide similar functionality in your own programs. (To select this
behavior on program start-up, use the switch -E.) If you set the variable
to the value noexec, the queries are just shown but are not actually sent
to the server and executed.
There are no clear a set of valid values :( .. When I found a known fields
in doc, I used it.

Regards

Pavel



 Regards,

 --
 Fujii Masao



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-28 Thread Andres Freund
On 2014-08-28 14:04:27 +0200, Petr Jelinek wrote:
 On 28/08/14 13:20, Andres Freund wrote:
 Hi,
 
 Stuff I wondered about:
 * How about making it --help=variables instead of --help-variables?
 
 -1, help is not a variable to be assigned imho

I don't think variable assignment is a good mental model for long
commandline arguments. And it's not like I'm the first to come up with
an extensible --help. Check e.g. gcc.

But anyway, I guess I've lost that argument.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-27 Thread Pavel Stehule
Hi

I chose \? xxx, because it is related to psql features. I wrote commands:

\? options
\? variables

comments?

Regards

Pavel



2014-08-26 13:48 GMT+02:00 Andres Freund and...@2ndquadrant.com:

 On 2014-08-26 13:44:16 +0200, Pavel Stehule wrote:
  2014-08-26 13:30 GMT+02:00 Petr Jelinek p...@2ndquadrant.com:
 
   On 26/08/14 13:20, Andres Freund wrote:
  
  
   I'm looking at committing this, but I wonder: Shouldn't this be
   accessible from inside psql as well? I.e. as a backslash command?
  
  
   +1
  
 
  have you idea about command name?  \?+

 Some ideas:

 \hv
 \help-variables
 \? set
 \? variables


 Greetings,

 Andres Freund

 --
  Andres Freund http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training  Services

commit 1c00470629f31d61886ff9ae95a6855693f358c8
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Wed Aug 27 22:47:07 2014 +0200

access to help_variables and usage from psql via psql command

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 74d4618..6d3189d 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -568,6 +568,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
@@ -2572,10 +2581,12 @@ testdb=gt; userinput\setenv LESS -imx4F/userinput
 
 
   varlistentry
-termliteral\?/literal/term
+termliteral\? [ options | variables ]/literal/term
 listitem
 para
-Shows help information about the backslash commands.
+Shows help information about the backslash commands.  This command can have a
+option variables or options to take help for psql configuration variables
+or psql command line options.
 /para
 /listitem
   /varlistentry
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index e27ff8c..12cbb20 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1503,7 +1503,19 @@ exec_command(const char *cmd,
 
 	/* \? -- slash command help */
 	else if (strcmp(cmd, ?) == 0)
-		slashUsage(pset.popt.topt.pager);
+	{
+		char	   *opt0 = psql_scan_slash_option(scan_state,
+	OT_NORMAL, NULL, false);
+
+		if (!opt0)
+			slashUsage(pset.popt.topt.pager);
+		else if (strcmp(opt0, variables) == 0)
+			help_variables(pset.popt.topt.pager);
+		else if (strcmp(opt0, options) == 0)
+			usage(pset.popt.topt.pager);
+		else
+			slashUsage(pset.popt.topt.pager);
+	}
 
 #if 0
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index f8f000f..5e7953d 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -46,11 +46,12 @@
 #define ON(var) (var ? _(on) : _(off))
 
 void
-usage(void)
+usage(unsigned short int pager)
 {
 	const char *env;
 	const char *user;
 	char	   *errstr;
+	FILE	   *output;
 
 	/* Find default user, in case we need it. */
 	user = getenv(PGUSER);
@@ -64,77 +65,82 @@ usage(void)
 		}
 	}
 
-	printf(_(psql is the PostgreSQL interactive terminal.\n\n));
-	printf(_(Usage:\n));
-	printf(_(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
+	output = PageOutput(59, pager);
+
+	fprintf(output, _(psql is the PostgreSQL interactive terminal.\n\n));
+	fprintf(output, _(Usage:\n));
+	fprintf(output, _(  psql [OPTION]... [DBNAME [USERNAME]]\n\n));
 
-	printf(_(General options:\n));
+	fprintf(output, _(General options:\n));
 	/* Display default database */
 	env = getenv(PGDATABASE);
 	if (!env)
 		env = user;
-	printf(_(  -c, --command=COMMANDrun only single command (SQL or internal) and exit\n));
-	printf(_(  -d, --dbname=DBNAME  database name to connect to (default: \%s\)\n), env);
-	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));
-	printf(_(  -V, --versionoutput version information, then exit\n));
-	printf(_(  -X, --no-psqlrc  do not read startup file (~/.psqlrc)\n));
-	printf(_(  -1 (\one\), --single-transaction\n
+	fprintf(output, _(  -c, --command=COMMANDrun only single command (SQL or internal) and exit\n));
+	fprintf(output, _(  -d, --dbname=DBNAME  database name to connect to (default: \%s\)\n), env);
+	fprintf(output, _(  -f, --file=FILENAME  execute commands from file, then exit\n));
+	fprintf(output, _(  -l, --list   list available databases, then exit\n));
+	fprintf(output, _(  -v, --set=, --variable=NAME=VALUE\n
+			set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n));
+	fprintf(output, _(  -V, --versionoutput version information, then exit\n));
+	fprintf(output, _(  -X, --no-psqlrc 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-26 Thread Andres Freund
On 2014-06-29 18:54:50 +0530, Abhijit Menon-Sen wrote:
 At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote:
 
  Thanks, I marked it as ready for committer.  I hope Fujii san or
  another committer will commit this, refining English expression if
  necessary.
 
 Since it was just a matter of editing, I went through the patch and
 corrected various minor errors (typos, awkwardness, etc.). I agree
 that this is now ready for committer.
 
 I've attached the updated diff.

I'm looking at committing this, but I wonder: Shouldn't this be
accessible from inside psql as well? I.e. as a backslash command?

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-26 Thread Petr Jelinek

On 26/08/14 13:20, Andres Freund wrote:


I'm looking at committing this, but I wonder: Shouldn't this be
accessible from inside psql as well? I.e. as a backslash command?



+1


--
 Petr Jelinek  http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-26 Thread Pavel Stehule
2014-08-26 13:30 GMT+02:00 Petr Jelinek p...@2ndquadrant.com:

 On 26/08/14 13:20, Andres Freund wrote:


 I'm looking at committing this, but I wonder: Shouldn't this be
 accessible from inside psql as well? I.e. as a backslash command?


 +1


have you idea about command name?  \?+

Pavel






 --
  Petr Jelinek  http://www.2ndQuadrant.com/

  PostgreSQL Development, 24x7 Support, Training  Services



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-26 Thread Andres Freund
On 2014-08-26 13:44:16 +0200, Pavel Stehule wrote:
 2014-08-26 13:30 GMT+02:00 Petr Jelinek p...@2ndquadrant.com:
 
  On 26/08/14 13:20, Andres Freund wrote:
 
 
  I'm looking at committing this, but I wonder: Shouldn't this be
  accessible from inside psql as well? I.e. as a backslash command?
 
 
  +1
 
 
 have you idea about command name?  \?+

Some ideas:

\hv
\help-variables
\? set
\? variables


Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-08-19 Thread Alvaro Herrera
Abhijit Menon-Sen wrote:
 At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote:
 
  Thanks, I marked it as ready for committer.  I hope Fujii san or
  another committer will commit this, refining English expression if
  necessary.
 
 Since it was just a matter of editing, I went through the patch and
 corrected various minor errors (typos, awkwardness, etc.). I agree
 that this is now ready for committer.

FWIW I think determines was correct.



-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-29 Thread Pavel Stehule
Hi


2014-06-29 0:48 GMT+02:00 MauMau maumau...@gmail.com:

 From: Pavel Stehule pavel.steh...@gmail.com

  I modified description of setting system variables in dependency on O.S.


 Thank you, it's almost OK.  As mentioned in my previous mail, I think
 determines should be determine to follow other messages.  I'll mark
 this patch as ready for committer when this is fixed.



fixes



 + printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when
 completing an SQL key word\n));

 Personally, I don't think we have to describe how to set environment
 variables, because it's preliminary knowledge and not specific to
 PostgreSQL.  However, I don't mind if you retain or remove the description.


ok

Regards

Pavel



 Regards
 MauMau




commit 44ba9d7fc1816dde4605ef59ea68b92b8ceb1c57
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Sat Jun 28 14:19:47 2014 +0200

initial

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index ee6ec3a..6a172dc 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -556,6 +556,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..d7da7c3 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, --versionoutput 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 show a list of all specially treated variables, then exit\n));
 
 	printf(_(\nInput and output options:\n));
 	printf(_(  -a, --echo-all   echo all input from script\n));
@@ -279,6 +280,98 @@ slashUsage(unsigned short int pager)
 }
 
 
+/*
+ * show list of available variables (options) from command line
+ */
+void
+help_variables(void)
+{
+	printf(_(List of specially treated variables.\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  determine which letter case to use when completing an SQL key word\n));
+	printf(_(  DBNAME name of currently connected database\n));
+	printf(_(  ECHO   control what input can be written to standard output [all, queries]\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries executed by backslash commands\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthe number of result rows to fetch and display at a time\n
+	  (default: 0=unlimited)\n));
+	printf(_(  HISTCONTROLcontrol 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   server port of the current connection\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 single-step mode (same as -s option)\n));
+	printf(_(  USER   the database user currently connected as\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 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-29 Thread MauMau
Thanks, I marked it as ready for committer.  I hope Fujii san or another 
committer will commit this, refining English expression if necessary.


Regards
MauMau



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-29 Thread Pavel Stehule
2014-06-29 13:35 GMT+02:00 MauMau maumau...@gmail.com:

 Thanks, I marked it as ready for committer.  I hope Fujii san or another
 committer will commit this, refining English expression if necessary.


sure

Thank you very much

Regards

Pavel



 Regards
 MauMau




Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-29 Thread Abhijit Menon-Sen
At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote:

 Thanks, I marked it as ready for committer.  I hope Fujii san or
 another committer will commit this, refining English expression if
 necessary.

Since it was just a matter of editing, I went through the patch and
corrected various minor errors (typos, awkwardness, etc.). I agree
that this is now ready for committer.

I've attached the updated diff.

-- Abhijit
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index ee6ec3a..6a172dc 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -556,6 +556,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..9ff2dd9 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, --versionoutput 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 show a list of all specially treated variables, then exit\n));
 
 	printf(_(\nInput and output options:\n));
 	printf(_(  -a, --echo-all   echo all input from script\n));
@@ -279,6 +280,99 @@ slashUsage(unsigned short int pager)
 }
 
 
+/*
+ * show list of available variables (options) from command line
+ */
+void
+help_variables(void)
+{
+	printf(_(List of specially treated variables.\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 if set, successful SQL commands are automatically committed\n));
+	printf(_(  COMP_KEYWORD_CASE  determine the case used to complete SQL keywords\n
+	  [lower, upper, preserve-lower, preserve-upper]\n));
+	printf(_(  DBNAME the currently connected database name\n));
+	printf(_(  ECHO   control what input is written to standard output [all, queries]\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries executed by backslash commands\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthe number of result rows to fetch and display at a time\n
+	  (default: 0=unlimited)\n));
+	printf(_(  HISTCONTROLcontrol 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses implicit SAVEPOINTs)\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   server port of the current connection\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 single-step mode (same as -s option)\n));
+	printf(_(  USER   the currently connected database user\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(_(  columnsset the target width for the wrapped format\n));
+	printf(_(  expanded (or x)toggle expanded output\n));
+	printf(_(  fieldsep   field separator for unaligned output (default '|')\n));
+	printf(_(  fieldsep_zero  set field separator in unaligned mode to zero\n));
+	printf(_(  format 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-29 Thread Pavel Stehule
2014-06-29 15:24 GMT+02:00 Abhijit Menon-Sen a...@2ndquadrant.com:

 At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote:
 
  Thanks, I marked it as ready for committer.  I hope Fujii san or
  another committer will commit this, refining English expression if
  necessary.

 Since it was just a matter of editing, I went through the patch and
 corrected various minor errors (typos, awkwardness, etc.). I agree
 that this is now ready for committer.

 I've attached the updated diff.


I checked it, and it looks well

Thank you

Regards

Pavel



 -- Abhijit



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-28 Thread Pavel Stehule
Hello

I modified description of setting system variables in dependency on O.S.

Regards

Pavel




2014-06-27 8:54 GMT+02:00 Pavel Stehule pavel.steh...@gmail.com:

 Hello

 thank you Peter, so now only setting for MS Windows is missing?

 Regards

 Pavel


 2014-06-26 21:57 GMT+02:00 Petr Jelinek p...@2ndquadrant.com:

 Hello,

 I went through the patch, seems mostly fine, I adjusted some wording,
 removed the default .pgpass file info since it's not accurate, and replaced
 couple of phrases with (hopefully) more informative ones.


 --
  Petr Jelinek  http://www.2ndQuadrant.com/

  PostgreSQL Development, 24x7 Support, Training  Services



commit 44ba9d7fc1816dde4605ef59ea68b92b8ceb1c57
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Sat Jun 28 14:19:47 2014 +0200

initial

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index ee6ec3a..6a172dc 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -556,6 +556,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..d7da7c3 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, --versionoutput 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 show a list of all specially treated variables, then exit\n));
 
 	printf(_(\nInput and output options:\n));
 	printf(_(  -a, --echo-all   echo all input from script\n));
@@ -279,6 +280,98 @@ slashUsage(unsigned short int pager)
 }
 
 
+/*
+ * show list of available variables (options) from command line
+ */
+void
+help_variables(void)
+{
+	printf(_(List of specially treated variables.\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   control what input can be written to standard output [all, queries]\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries executed by backslash commands\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthe number of result rows to fetch and display at a time\n
+	  (default: 0=unlimited)\n));
+	printf(_(  HISTCONTROLcontrol 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   server port of the current connection\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 single-step mode (same as -s option)\n));
+	printf(_(  USER   the database user currently connected as\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(_( 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-28 Thread MauMau

From: Pavel Stehule pavel.steh...@gmail.com

I modified description of setting system variables in dependency on O.S.


Thank you, it's almost OK.  As mentioned in my previous mail, I think 
determines should be determine to follow other messages.  I'll mark this 
patch as ready for committer when this is fixed.


+ printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when 
completing an SQL key word\n));


Personally, I don't think we have to describe how to set environment 
variables, because it's preliminary knowledge and not specific to 
PostgreSQL.  However, I don't mind if you retain or remove the description.


Regards
MauMau





--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-27 Thread Pavel Stehule
Hello

thank you Peter, so now only setting for MS Windows is missing?

Regards

Pavel


2014-06-26 21:57 GMT+02:00 Petr Jelinek p...@2ndquadrant.com:

 Hello,

 I went through the patch, seems mostly fine, I adjusted some wording,
 removed the default .pgpass file info since it's not accurate, and replaced
 couple of phrases with (hopefully) more informative ones.


 --
  Petr Jelinek  http://www.2ndQuadrant.com/

  PostgreSQL Development, 24x7 Support, Training  Services



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-26 Thread MauMau

Hello,

From: Pavel Stehule pavel.steh...@gmail.com

fixed


Thank you.  All is fine.



should be Environment variables.  And this section lacks description
for Windows, such as:

+ printf(_(  NAME=VALUE [NAME=VALUE] psql ...\n  or \\setenv NAME 
[VALUE]

in interactive mode\n\n));

+ printf(_(  PGPASSFILE password file (default ~/.pgpass)\n));



??? -


I meant that how to set environment variables on Windows command prompt is 
different from on UNIX/Linux, and the default password file path is also 
different on Windows.  Do we describe them in this help?



Lastly, to follow most of your descriptions, s at the end of the first 
verb in these messages should be removed.  For example, use set instead of 
sets.


+ printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when 
completing an SQL key word\n));
+ printf(_(  columnssets the target width for the wrapped 
format\n));
+ printf(_(  linestyle  sets the border line drawing style [ascii, 
old-ascii, unicode]\n));
+ printf(_(  recordsep  specifies the record (line) separator to 
use in unaligned output format\n));
+ printf(_(  title  sets the table title for any subsequently 
printed tables\n));



This is all I noticed in the review.


Regards
MauMau



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-26 Thread Pavel Stehule
2014-06-26 15:26 GMT+02:00 MauMau maumau...@gmail.com:

 Hello,

 From: Pavel Stehule pavel.steh...@gmail.com

 fixed


 Thank you.  All is fine.



  should be Environment variables.  And this section lacks description
 for Windows, such as:

 + printf(_(  NAME=VALUE [NAME=VALUE] psql ...\n  or \\setenv NAME
 [VALUE]
 in interactive mode\n\n));

 + printf(_(  PGPASSFILE password file (default ~/.pgpass)\n));


 ??? -


 I meant that how to set environment variables on Windows command prompt is
 different from on UNIX/Linux, and the default password file path is also
 different on Windows.  Do we describe them in this help?


hmm, I'll check it

Pavel




 Lastly, to follow most of your descriptions, s at the end of the first
 verb in these messages should be removed.  For example, use set instead
 of sets.


 + printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when
 completing an SQL key word\n));
 + printf(_(  columnssets the target width for the wrapped
 format\n));
 + printf(_(  linestyle  sets the border line drawing style
 [ascii, old-ascii, unicode]\n));
 + printf(_(  recordsep  specifies the record (line) separator to
 use in unaligned output format\n));
 + printf(_(  title  sets the table title for any subsequently
 printed tables\n));


 This is all I noticed in the review.


 Regards
 MauMau




Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-26 Thread Petr Jelinek

Hello,

I went through the patch, seems mostly fine, I adjusted some wording, 
removed the default .pgpass file info since it's not accurate, and 
replaced couple of phrases with (hopefully) more informative ones.



--
 Petr Jelinek  http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services
commit 4d77ccf19ac77dc0f43a58f4d2b74d4aebed871d
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Mon Jun 23 19:38:41 2014 +0200

without comments

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index ee6ec3a..6a172dc 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -556,6 +556,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..1304e1a 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, --versionoutput 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 show a list of all specially treated variables, then exit\n));
 
 	printf(_(\nInput and output options:\n));
 	printf(_(  -a, --echo-all   echo all input from script\n));
@@ -279,6 +280,92 @@ slashUsage(unsigned short int pager)
 }
 
 
+/*
+ * show list of available variables (options) from command line
+ */
+void
+help_variables(void)
+{
+	printf(_(List of specially treated variables.\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   control what input can be written to standard output [all, queries]\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries executed by backslash commands\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthe number of result rows to fetch and display at a time\n
+	  (default: 0=unlimited)\n));
+	printf(_(  HISTCONTROLcontrol 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   server port of the current connection\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 single-step mode (same as -s option)\n));
+	printf(_(  USER   the database user currently connected as\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(_(  columnsset the target width for the wrapped format\n));
+	printf(_(  expanded (or x)toggle expanded output\n));
+	printf(_(  fieldsep   field separator for unaligned output (default '|')\n));
+	printf(_(  fieldsep_zero  set field separator in unaligned mode to zero\n));
+	printf(_(  format  

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-25 Thread MauMau
OK, let me help you, though I'm only a Japanese who is never confident in my 
English.


(1)
As Fujii-san pointed out, could you add explanation for --help-variables in 
doc/src/sgml/ref/psqlref.sgml?



(2)
+ printf(_(  --help-variables list of available configuration 
variables (options), then exit\n));


should better be:

+ printf(_(  --help-variables show A list of all specially treated 
variables, then exit\n));


This follows the psql manual page.  Similarly,

+ printf(_(List of variables (options) for use from command line.\n));

should be:

+ printf(_(List of specially treated variables.\n));


(3)
+ printf(_(  ECHO   control what input can be writtent to 
standard output [all, queries]\n));


writtent should be written.  controls should be control like other 
options.



(4)
+ printf(_(  ECHO_HIDDENdisplay internal queries (same as -E 
option)\n));


should better be:

+ printf(_(  ECHO_HIDDENdisplay internal queries executed by 
backslash commands\n));


I think (same as ...) can be omitted to keep the description short.  If 
you want to retain it, other variables should also accompany similar 
description, such as -a for ECHO.



(5)
+ printf(_(  FETCH_COUNTfetch many rows at a time (use less memory) 
(default 0 unlimited)\n));


should better be:

+ printf(_(  FETCH_COUNTthe number of result rows to fetch and 
display at a time (default: 0=unlimited)\n));



(6)
+ printf(_(  HISTCONTROLwhen set, controls history list 
[ignorespace, ignoredups, ignoreboth]\n));


should better be:

+ printf(_(  HISTCONTROLcontrol history list [ignorespace, 
ignoredups, ignoreboth]\n));



(7)
+ printf(_(  USER   the database user currently connected\n));

should add as at the end:

+ printf(_(  USER   the database user currently connected 
as\n));



(8)
Printing options section lack the following ones described in psql manual:

columns
expanded (or x)
footer
numericlocale
tableattr (or T)


(9)
+ printf(_(\nEnvironment options:\n));

should be Environment variables.  And this section lacks description for 
Windows, such as:


+ printf(_(  NAME=VALUE [NAME=VALUE] psql ...\n  or \\setenv NAME [VALUE] 
in interactive mode\n\n));

+ printf(_(  PGPASSFILE password file (default ~/.pgpass)\n));

Regards
MauMau



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-25 Thread Pavel Stehule
Hello

Here is next update


2014-06-25 17:17 GMT+02:00 MauMau maumau...@gmail.com:

 OK, let me help you, though I'm only a Japanese who is never confident in
 my English.

 (1)
 As Fujii-san pointed out, could you add explanation for --help-variables
 in doc/src/sgml/ref/psqlref.sgml?


 (2)

 + printf(_(  --help-variables list of available configuration
 variables (options), then exit\n));

 should better be:

 + printf(_(  --help-variables show A list of all specially
 treated variables, then exit\n));

 This follows the psql manual page.  Similarly,

 + printf(_(List of variables (options) for use from command line.\n));

 should be:

 + printf(_(List of specially treated variables.\n));


 (3)
 + printf(_(  ECHO   control what input can be writtent to
 standard output [all, queries]\n));

 writtent should be written.  controls should be control like other
 options.


 (4)
 + printf(_(  ECHO_HIDDENdisplay internal queries (same as -E
 option)\n));

 should better be:

 + printf(_(  ECHO_HIDDENdisplay internal queries executed by
 backslash commands\n));

 I think (same as ...) can be omitted to keep the description short.  If
 you want to retain it, other variables should also accompany similar
 description, such as -a for ECHO.


 (5)
 + printf(_(  FETCH_COUNTfetch many rows at a time (use less
 memory) (default 0 unlimited)\n));

 should better be:

 + printf(_(  FETCH_COUNTthe number of result rows to fetch and
 display at a time (default: 0=unlimited)\n));


 (6)
 + printf(_(  HISTCONTROLwhen set, controls history list
 [ignorespace, ignoredups, ignoreboth]\n));

 should better be:

 + printf(_(  HISTCONTROLcontrol history list [ignorespace,
 ignoredups, ignoreboth]\n));


 (7)
 + printf(_(  USER   the database user currently
 connected\n));

 should add as at the end:

 + printf(_(  USER   the database user currently connected
 as\n));


 (8)
 Printing options section lack the following ones described in psql
 manual:

 columns
 expanded (or x)
 footer
 numericlocale
 tableattr (or T)


fixed




 (9)
 + printf(_(\nEnvironment options:\n));

 should be Environment variables.  And this section lacks description
 for Windows, such as:

 + printf(_(  NAME=VALUE [NAME=VALUE] psql ...\n  or \\setenv NAME [VALUE]
 in interactive mode\n\n));

 + printf(_(  PGPASSFILE password file (default ~/.pgpass)\n));


??? -

Regards

Pavel



 Regards
 MauMau


commit 4d77ccf19ac77dc0f43a58f4d2b74d4aebed871d
Author: Pavel Stehule pavel.steh...@gooddata.com
Date:   Mon Jun 23 19:38:41 2014 +0200

without comments

diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index ee6ec3a..6a172dc 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -556,6 +556,15 @@ EOF
   /listitem
 /varlistentry
 
+varlistentry
+  termoption--help-variables//term
+  listitem
+  para
+  Show help about applicationpsql/application variables,
+  and exit.
+  /para
+  /listitem
+/varlistentry
   /variablelist
  /refsect1
 
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..1304e1a 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, --versionoutput 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 show a list of all specially treated variables, then exit\n));
 
 	printf(_(\nInput and output options:\n));
 	printf(_(  -a, --echo-all   echo all input from script\n));
@@ -279,6 +280,92 @@ slashUsage(unsigned short int pager)
 }
 
 
+/*
+ * show list of available variables (options) from command line
+ */
+void
+help_variables(void)
+{
+	printf(_(List of specially treated variables.\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   control what input can be written to standard output 

Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Fujii Masao
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_RCalternative 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


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Pavel Stehule
Hello


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_RCalternative 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.


Main reason is a PGPASSWORD -- it is probably most used env variable with
psql

PGPASSWORD=** psql is very often used pattern

Regards

Pavel Stehule


 Regards,

 --
 Fujii Masao



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Fujii Masao
On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule pavel.steh...@gmail.com wrote:
 Hello


 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_RCalternative 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.


 Main reason is a PGPASSWORD -- it is probably most used env variable with
 psql

 PGPASSWORD=** psql is very often used pattern

But it's not recommended as the help message which the patch added says ;)

Regards,

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Pavel Stehule
2014-06-23 10:57 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
  Hello
 
 
  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_RCalternative 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.
 
 
  Main reason is a PGPASSWORD -- it is probably most used env variable with
  psql
 
  PGPASSWORD=** psql is very often used pattern

 But it's not recommended as the help message which the patch added says ;)


why?

who can see this value?

regards

Pavel



 Regards,

 --
 Fujii Masao



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Fujii Masao
On Mon, Jun 23, 2014 at 6:06 PM, Pavel Stehule pavel.steh...@gmail.com wrote:



 2014-06-23 10:57 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
  Hello
 
 
  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_RCalternative 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.
 
 
  Main reason is a PGPASSWORD -- it is probably most used env variable
  with
  psql
 
  PGPASSWORD=** psql is very often used pattern

 But it's not recommended as the help message which the patch added says ;)


 why?

 who can see this value?

I'm sure that the document explains this.

http://www.postgresql.org/docs/devel/static/libpq-envars.html
---
PGPASSWORD behaves the same as the password connection parameter.
Use of this environment variable is not recommended for security reasons,
as some operating systems allow non-root users to see process environment
variables via ps; instead consider using the ~/.pgpass file
---

Regards,

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Pavel Stehule
2014-06-23 11:53 GMT+02:00 Fujii Masao masao.fu...@gmail.com:

 On Mon, Jun 23, 2014 at 6:06 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
 
 
 
  2014-06-23 10:57 GMT+02:00 Fujii Masao masao.fu...@gmail.com:
 
  On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule pavel.steh...@gmail.com
 
  wrote:
   Hello
  
  
   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_RCalternative 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.
  
  
   Main reason is a PGPASSWORD -- it is probably most used env variable
   with
   psql
  
   PGPASSWORD=** psql is very often used pattern
 
  But it's not recommended as the help message which the patch added says
 ;)
 
 
  why?
 
  who can see this value?

 I'm sure that the document explains this.


ok

I am too Linux centrist :( it is safe there and I don't see a others

Thank you for info

Regards

Pavel



 http://www.postgresql.org/docs/devel/static/libpq-envars.html
 ---
 PGPASSWORD behaves the same as the password connection parameter.
 Use of this environment variable is not recommended for security reasons,
 as some operating systems allow non-root users to see process environment
 variables via ps; instead consider using the ~/.pgpass file
 ---

 Regards,

 --
 Fujii Masao



Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-23 Thread Pavel Stehule
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_RCalternative 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, --versionoutput 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_HIDDENdisplay internal queries (same as -E option)\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTfetch many rows 

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-22 Thread MauMau

From: Pavel Stehule pavel.steh...@gmail.com
pg_dumpall aligns all options left with each other, whether they are 
short

or long.

 -x, --no-privileges  do not dump privileges (grant/revoke)
 --binary-upgrade for use by upgrade utilities only
 --column-inserts dump data as INSERT commands with column
names



ok

I fixed it


Thank you.  I marked this patch as ready for committer.

Regards
MauMau




--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-22 Thread Pavel Stehule
2014-06-22 9:32 GMT+02:00 MauMau maumau...@gmail.com:

 From: Pavel Stehule pavel.steh...@gmail.com

  pg_dumpall aligns all options left with each other, whether they are short
 or long.

  -x, --no-privileges  do not dump privileges (grant/revoke)
  --binary-upgrade for use by upgrade utilities only
  --column-inserts dump data as INSERT commands with column
 names


 ok

 I fixed it


 Thank you.  I marked this patch as ready for committer.


Thank you very much

Pavel



 Regards
 MauMau





Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]

2014-06-22 Thread Pavel Stehule
Hello

third version with Erik's update

Thanks Erik

Regards

Pavel


2014-06-22 12:01 GMT+02:00 Erik Rijkers e...@xs4all.nl:

 Hi Pavel,

 It seems you overlooked the patch that I sent?

 There are some typo's in your patch (also in v2) like:

 PROPMPT1, PROPMT2, PROPMPT3

 SIGLELINE

 I fixed those in my patch and improved the text.
 Attached is the diff against your v1 patch


 Thanks,


 Erik








  Original Message
 -
 Subject: Re: [HACKERS] proposal: new long psql parameter --on-error-stop
 From:Erik Rijkers e...@xs4all.nl
 Date:Sun, June 22, 2014 01:33
 To:  Pavel Stehule pavel.steh...@gmail.com
 Cc:  MauMau maumau...@gmail.com
  Andrew Dunstan and...@dunslane.net
  Tom Lane t...@sss.pgh.pa.us
  Fabrízio Mello fabriziome...@gmail.com
  PostgreSQL Hackers pgsql-hackers@postgresql.org

 ---

 On Sun, June 22, 2014 00:10, Pavel Stehule wrote:

  [help-variables-01.patch ]

 +1.  This patch is a very useful improvement, IMHO.

 I edited the text somewhat; and removed some obvious typos.

 thanks,

 Erik Rijkers
 --
 Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
 To make changes to your subscription:
 http://www.postgresql.org/mailpref/pgsql-hackers

commit 2d44ee1f1bf7f7b57e51522dca88b9f55b308e67
Author: Pavel Stehule pavel.steh...@gmail.com
Date:   Sun Jun 22 00:08:24 2014 +0200

show a list of psql internal, psql formatting and system variables used by psql

diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..7b026af 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, --versionoutput 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,81 @@ 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   write all input lines to standard output\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries (same as -E option)\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthis many rows at a time (use less memory) (default 0 unlimited)\n));
+	printf(_(  HISTCONTROLwhen 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when on, ROLLBACK on error\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   the database server port\n));
+	printf(_(  PROMPT1, PROMPT2, PROMPT3  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

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-21 Thread MauMau

eFrom: Pavel Stehule pavel.steh...@gmail.com

here is a prototype:


The patch applied and built with success.  There are a few minor things:


(1)
help_variables() lacks description of some variables such as SINGLELINE and 
SINGLESTEP.  I think this help should list all available variables, because 
users may want to know the existence of those missing variables.  Based on 
this, modify these lines: remove some from the first line and the entire 
second line.


+ printf(_(List of some variables (options) for use from command 
line.\n));
+ printf(_(Complete list you find in psql section in the PostgreSQL 
documentation.\n\n));



(2)
The indent is different from other lines.  Leave just two spaces at the 
beginning of the line.


+ printf(_(  --help-variables list of available configuration 
variables (options), then exit\n));



(3)
This change is unnecessary.  See src/bin/pg_dumpall.c for similar switches.

- while ((c = getopt_long(argc, argv, 
aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VwWxXz?01,
or+ while ((c = getopt_long(argc, argv, 
aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VwWxXz?001,


Regards
MauMau



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-21 Thread Pavel Stehule
Hello


2014-06-21 15:51 GMT+02:00 MauMau maumau...@gmail.com:

 eFrom: Pavel Stehule pavel.steh...@gmail.com

 here is a prototype:


 The patch applied and built with success.  There are a few minor things:


 (1)
 help_variables() lacks description of some variables such as SINGLELINE
 and SINGLESTEP.  I think this help should list all available variables,
 because users may want to know the existence of those missing variables.
  Based on this, modify these lines: remove some from the first line and
 the entire second line.

 + printf(_(List of some variables (options) for use from command
 line.\n));
 + printf(_(Complete list you find in psql section in the PostgreSQL
 documentation.\n\n));


I fixed it



 (2)
 The indent is different from other lines.  Leave just two spaces at the
 beginning of the line.

 + printf(_(  --help-variables list of available configuration
 variables (options), then exit\n));


I am not sure in this point. It is aligned left with all long options:

  -?, --help   show this help, then exit
  --help-variables list of available configuration variables
(options), then exit

Input and output options:
  -a, --echo-all   echo all input from script
  -e, --echo-queries   echo commands sent to server
  -E, --echo-hiddendisplay queries that internal commands generate

 I am thinking so current implementation has sense.




 (3)
 This change is unnecessary.  See src/bin/pg_dumpall.c for similar switches.

 - while ((c = getopt_long(argc, argv, aAc:d:eEf:F:h:HlL:no:p:P:qR:
 sStT:U:v:VwWxXz?01,
 or+ while ((c = getopt_long(argc, argv, aAc:d:eEf:F:h:HlL:no:p:P:qR:
 sStT:U:v:VwWxXz?001,


fixed



 Regards
 MauMau



updated patch is in attachment

Regards

Pavel
commit 826bd11fb4e9ac4b26cfe2e3702535f6b9527c12
Author: Pavel Stehule pavel.steh...@gmail.com
Date:   Sun Jun 22 00:08:24 2014 +0200

initial

diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..aa11808 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, --versionoutput 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,80 @@ 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 when is on, successful SQL command is automatically commited\n));
+	printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when completing an SQL key word\n));
+	printf(_(  DBNAME the name of currently connected database\n));
+	printf(_(  ECHO   all lines from input can be written to standard output\n));
+	printf(_(  ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n));
+	printf(_(  ENCODING   the current client character set encoding\n));
+	printf(_(  FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n));
+	printf(_(  HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n));
+	printf(_(  HISTFILE   file name that be used for store 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically\n));
+	printf(_(  ON_ERROR_STOP  when is set, then batch execution stop immediately after error\n));
+	printf(_(  PORT   the database server port to which is currently used\n));
+	printf(_(  PROPMPT1, PROPMT2, PROPMPT3  specify a look of psql prompt\n));
+	printf(_(  QUIET  when is 

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-21 Thread Erik Rijkers
On Sun, June 22, 2014 00:10, Pavel Stehule wrote:

 [help-variables-01.patch ]

+1.  This patch is a very useful improvement, IMHO.

I edited the text somewhat; and removed some obvious typos.

thanks,

Erik Rijkers--- src/bin/psql/help.c.orig	2014-06-22 00:31:55.450860460 +0200
+++ src/bin/psql/help.c	2014-06-22 01:28:23.546375133 +0200
@@ -292,36 +292,36 @@
 	printf(_(Usage:\n));
 	printf(_(  psql --set=NAME=VALUE\n  or \\set NAME VALUE in interactive mode\n\n));
 
-	printf(_(  AUTOCOMMIT when is on, successful SQL command is automatically commited\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 the name of currently connected database\n));
-	printf(_(  ECHO   all lines from input can be written to standard output\n));
-	printf(_(  ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n));
-	printf(_(  ENCODING   the current client character set encoding\n));
-	printf(_(  FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n));
-	printf(_(  HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n));
-	printf(_(  HISTFILE   file name that be used for store history list\n));
+	printf(_(  DBNAME name of currently connected database\n));
+	printf(_(  ECHO   write all input lines to standard output\n));
+	printf(_(  ECHO_HIDDENdisplay internal queries (same as -E option)\n));
+	printf(_(  ENCODING   current client character set encoding\n));
+	printf(_(  FETCH_COUNTthis many rows at a time (use less memory) (default 0 unlimited)\n));
+	printf(_(  HISTCONTROLwhen 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(_(  LASTOIDthe value of last affected OID\n));
-	printf(_(  ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically\n));
-	printf(_(  ON_ERROR_STOP  when is set, then batch execution stop immediately after error\n));
-	printf(_(  PORT   the database server port to which is currently used\n));
-	printf(_(  PROPMPT1, PROPMT2, PROPMPT3  specify a look of psql prompt\n));
-	printf(_(  QUIET  when is set, run quietly (same as -q option)\n));
-	printf(_(  SIGLELINE  end of line terminates SQL command mode (same as -S option)\n));
+	printf(_(  ON_ERROR_ROLLBACK  when on, ROLLBACK on error\n));
+	printf(_(  ON_ERROR_STOP  stop batch execution after error\n));
+	printf(_(  PORT   the database server port\n));
+	printf(_(  PROMPT1, PROMPT2, PROMPT3  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 that are currently connected\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 number of border style\n));
-	printf(_(  fieldsep   specify field separator for unaligned output\n));
-	printf(_(  fieldsep_zero  field separator in unaligned mode will be zero\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));
@@ -333,7 +333,7 @@
 
 	printf(_(\nEnvironment options:\n));
 	printf(_(Usage:\n));
-	printf(_(  NAME=VALUE, [NAME=VALUE] psql ...\n  or \\setenv NAME [VALUE] in interactive mode\n\n));
+	printf(_(  NAME=VALUE [NAME=VALUE] psql ...\n  or \\setenv NAME [VALUE] in interactive mode\n\n));
 
 	printf(_(  COLUMNSnumber of columns for wrapped format\n));
 	printf(_(  PAGER  used pager\n));
@@ -341,9 +341,10 @@
 	printf(_(  PGHOST  

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-21 Thread MauMau

From: Pavel Stehule pavel.steh...@gmail.com

I am not sure in this point. It is aligned left with all long options:

 -?, --help   show this help, then exit
 --help-variables list of available configuration variables
(options), then exit


pg_dumpall aligns all options left with each other, whether they are short 
or long.


 -x, --no-privileges  do not dump privileges (grant/revoke)
 --binary-upgrade for use by upgrade utilities only
 --column-inserts dump data as INSERT commands with column 
names


Regards
MauMau



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-06-21 Thread Pavel Stehule
2014-06-22 2:26 GMT+02:00 MauMau maumau...@gmail.com:

 From: Pavel Stehule pavel.steh...@gmail.com

  I am not sure in this point. It is aligned left with all long options:

  -?, --help   show this help, then exit
  --help-variables list of available configuration variables
 (options), then exit


 pg_dumpall aligns all options left with each other, whether they are short
 or long.

  -x, --no-privileges  do not dump privileges (grant/revoke)
  --binary-upgrade for use by upgrade utilities only
  --column-inserts dump data as INSERT commands with column
 names


ok

I fixed it

Regards

Pavel



 Regards
 MauMau


commit e07af2c24cb8ae85ef6b3ec53baf3444bfa27ad3
Author: Pavel Stehule pavel.steh...@gmail.com
Date:   Sun Jun 22 00:08:24 2014 +0200

show a list of psql internal, psql formatting and system variables used by psql

diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 3aa3c16..59030eb 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, --versionoutput 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,80 @@ 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 when is on, successful SQL command is automatically commited\n));
+	printf(_(  COMP_KEYWORD_CASE  determines which letter case to use when completing an SQL key word\n));
+	printf(_(  DBNAME the name of currently connected database\n));
+	printf(_(  ECHO   all lines from input can be written to standard output\n));
+	printf(_(  ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n));
+	printf(_(  ENCODING   the current client character set encoding\n));
+	printf(_(  FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n));
+	printf(_(  HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n));
+	printf(_(  HISTFILE   file name that be used for store 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(_(  LASTOIDthe value of last affected OID\n));
+	printf(_(  ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically\n));
+	printf(_(  ON_ERROR_STOP  when is set, then batch execution stop immediately after error\n));
+	printf(_(  PORT   the database server port to which is currently used\n));
+	printf(_(  PROPMPT1, PROPMT2, PROPMPT3  specify a look of psql prompt\n));
+	printf(_(  QUIET  when is set, run quietly (same as -q option)\n));
+	printf(_(  SIGLELINE  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 that are 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 number of border style\n));
+	printf(_(  fieldsep   specify field separator for unaligned output\n));
+	printf(_(  fieldsep_zero  field separator in unaligned mode will be 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  

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-03-02 Thread Pavel Stehule
2014-03-01 23:53 GMT+01:00 Fabrízio de Royes Mello fabriziome...@gmail.com
:


 On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
 
  Hello
 
  here is a prototype:
 
  bash-4.1$ /usr/local/pgsql/bin/psql --help-variables
  List of some variables (options) for use from command line.
  Complete list you find in psql section in the PostgreSQL documentation.
 
  psql variables:
  Usage:
psql --set=NAME=VALUE
or \set NAME VALUE in interactive mode
 
AUTOCOMMIT when is on, successful SQL command is automatically
 commited
COMP_KEYWORD_CASE  determines which letter case to use when completing
 an SQL key word
ECHO   all lines from input can be written to standard
 output
ECHO_HIDDENdisplay queries for internal commands (same as -E
 option)
FETCH_COUNThow many rows should be for one page (default 0
 unlimited)
HISTFILE   file name that be used for store history list
HISTSIZE   the number of commands to store in the command
 history
ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically
ON_ERROR_STOP  when is set, then batch execution stop immediately
 after error
VERBOSITY  control verbosity of error reports [default,
 verbose, terse]
 
  Printing options:
  Usage:
psql --pset=NAME[=VALUE]
or \pset NAME [VALUE] in interactive mode
 
border number of border style
fieldsep   specify field separator for unaligned output
fieldsep_zero  field separator in unaligned mode will be zero
format set output format [unaligned, aligned, wrapped,
 html, latex, ..]
linestyle  sets the border line drawing style [ascii,
 old-ascii, unicode]
null   sets the string to be printed in place of a null
 value
pager  when the pager option is off, the pager program is
 not used
recordsep  specifies the record (line) separator to use in
 unaligned output format
recordsep_zero record separator be in unaligned output format a
 zero byte
title  sets the table title for any subsequently printed
 tables
tuples_onlyin tuples-only mode, only actual table data is shown
 
  Environment options:
  Usage:
NAME=VALUE, [NAME=VALUE] psql ...
or \setenv NAME [VALUE] in interactive mode
 
COLUMNSnumber of columns for wrapped format
PAGER  used pager
PGHOST same as the host connection parameter
PGDATABASE same as the dbname connection parameter
PGUSER same as the user connection parameter
PGPASSWORD possibility to set password
PSQL_EDITOR, EDITOR, VISUAL  editor used by \e \ef commands
PSQL_EDITOR_LINE_NUMBER_ARG  style how to line number is used in editor
PSQL_HISTORY   alternative location for the command history file
PSQL_RCalternative location of the user's .psqlrc file
SHELL  command executed by the \! command
TMPDIR directory for storing temporary files
 
  For more information consult the psql section in the PostgreSQL
  documentation.
 

 The patch is ok (apply to master and apply to master without errors).

 Maybe we must show the possible values for each variable/option too.


Not all options are writeable - and too long option list should be less
readable - It should not to supply documentation



 Thinking more about it, would be nice if we have the possibility to show
 help for commands too. Some like that:


This can be implemented as alias probably, so it is not necessary - but I
agree, so it is interesting and valid idea

Regards

Pavel



 $ psql -H vacuum
 Command: VACUUM
 Description: garbage-collect and optionally analyze a database
 Syntax:
 VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name
 [ (column_name [, ...] ) ] ]
 VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ]
 VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name
 [, ...] ) ] ]

 $ psql --help-command=vacuum
 Command: VACUUM
 Description: garbage-collect and optionally analyze a database
 Syntax:
 VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name
 [ (column_name [, ...] ) ] ]
 VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ]
 VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name
 [, ...] ) ] ]

 It's only an idea that occurred to me reading this thread!

 Grettings,

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Timbira: http://www.timbira.com.br
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-03-01 Thread Pavel Stehule
Hello

here is a prototype:

bash-4.1$ /usr/local/pgsql/bin/psql --help-variables
List of some variables (options) for use from command line.
Complete list you find in psql section in the PostgreSQL documentation.

psql variables:
Usage:
  psql --set=NAME=VALUE
  or \set NAME VALUE in interactive mode

  AUTOCOMMIT when is on, successful SQL command is automatically
commited
  COMP_KEYWORD_CASE  determines which letter case to use when completing an
SQL key word
  ECHO   all lines from input can be written to standard output
  ECHO_HIDDENdisplay queries for internal commands (same as -E
option)
  FETCH_COUNThow many rows should be for one page (default 0
unlimited)
  HISTFILE   file name that be used for store history list
  HISTSIZE   the number of commands to store in the command history
  ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically
  ON_ERROR_STOP  when is set, then batch execution stop immediately
after error
  VERBOSITY  control verbosity of error reports [default, verbose,
terse]

Printing options:
Usage:
  psql --pset=NAME[=VALUE]
  or \pset NAME [VALUE] in interactive mode

  border number of border style
  fieldsep   specify field separator for unaligned output
  fieldsep_zero  field separator in unaligned mode will be zero
  format set output format [unaligned, aligned, wrapped, html,
latex, ..]
  linestyle  sets the border line drawing style [ascii, old-ascii,
unicode]
  null   sets the string to be printed in place of a null value
  pager  when the pager option is off, the pager program is not
used
  recordsep  specifies the record (line) separator to use in
unaligned output format
  recordsep_zero record separator be in unaligned output format a zero
byte
  title  sets the table title for any subsequently printed
tables
  tuples_onlyin tuples-only mode, only actual table data is shown

Environment options:
Usage:
  NAME=VALUE, [NAME=VALUE] psql ...
  or \setenv NAME [VALUE] in interactive mode

  COLUMNSnumber of columns for wrapped format
  PAGER  used pager
  PGHOST same as the host connection parameter
  PGDATABASE same as the dbname connection parameter
  PGUSER same as the user connection parameter
  PGPASSWORD possibility to set password
  PSQL_EDITOR, EDITOR, VISUAL  editor used by \e \ef commands
  PSQL_EDITOR_LINE_NUMBER_ARG  style how to line number is used in editor
  PSQL_HISTORY   alternative location for the command history file
  PSQL_RCalternative location of the user's .psqlrc file
  SHELL  command executed by the \! command
  TMPDIR directory for storing temporary files

For more information consult the psql section in the PostgreSQL
documentation.

Regards

Pavel



2014-02-28 23:01 GMT+01:00 Andrew Dunstan and...@dunslane.net:


 On 02/28/2014 04:38 PM, Tom Lane wrote:

 Andrew Dunstan and...@dunslane.net writes:

 Well, then we just have to add more info to --help

 +1 for at least doing that. I found it annoying just the other day not
 to find it in plsql's --help output, in a moment of brain fade when I
 forgot how to spell it. So it's not just beginners who can benefit, it's
 people like me whose memory occasionally goes awry.

 No objection in principle, but what are we talking about exactly?
 Adding some new backslash command that lists all the variables that have
 special meanings?



 That's a pretty good idea, especially if we give that command a command
 line option too, so something like

psql --special-variables

 would run that command and exit.

 Maybe I'm over-egging the pudding a bit ;-)

 cheers

 andrew

commit 82a6a61a11bdb76c00481abeccff42b4b532762e
Author: Pavel Stehule pavel.steh...@gmail.com
Date:   Sat Mar 1 09:34:47 2014 +0100

initial

diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index baa9417..fb77132 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, --versionoutput 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 

Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-03-01 Thread Fabrízio de Royes Mello
On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule pavel.steh...@gmail.com
wrote:

 Hello

 here is a prototype:

 bash-4.1$ /usr/local/pgsql/bin/psql --help-variables
 List of some variables (options) for use from command line.
 Complete list you find in psql section in the PostgreSQL documentation.

 psql variables:
 Usage:
   psql --set=NAME=VALUE
   or \set NAME VALUE in interactive mode

   AUTOCOMMIT when is on, successful SQL command is automatically
commited
   COMP_KEYWORD_CASE  determines which letter case to use when completing
an SQL key word
   ECHO   all lines from input can be written to standard
output
   ECHO_HIDDENdisplay queries for internal commands (same as -E
option)
   FETCH_COUNThow many rows should be for one page (default 0
unlimited)
   HISTFILE   file name that be used for store history list
   HISTSIZE   the number of commands to store in the command
history
   ON_ERROR_ROLLBACK  when is on, raise ROLLBACK on error automatically
   ON_ERROR_STOP  when is set, then batch execution stop immediately
after error
   VERBOSITY  control verbosity of error reports [default,
verbose, terse]

 Printing options:
 Usage:
   psql --pset=NAME[=VALUE]
   or \pset NAME [VALUE] in interactive mode

   border number of border style
   fieldsep   specify field separator for unaligned output
   fieldsep_zero  field separator in unaligned mode will be zero
   format set output format [unaligned, aligned, wrapped,
html, latex, ..]
   linestyle  sets the border line drawing style [ascii,
old-ascii, unicode]
   null   sets the string to be printed in place of a null
value
   pager  when the pager option is off, the pager program is
not used
   recordsep  specifies the record (line) separator to use in
unaligned output format
   recordsep_zero record separator be in unaligned output format a
zero byte
   title  sets the table title for any subsequently printed
tables
   tuples_onlyin tuples-only mode, only actual table data is shown

 Environment options:
 Usage:
   NAME=VALUE, [NAME=VALUE] psql ...
   or \setenv NAME [VALUE] in interactive mode

   COLUMNSnumber of columns for wrapped format
   PAGER  used pager
   PGHOST same as the host connection parameter
   PGDATABASE same as the dbname connection parameter
   PGUSER same as the user connection parameter
   PGPASSWORD possibility to set password
   PSQL_EDITOR, EDITOR, VISUAL  editor used by \e \ef commands
   PSQL_EDITOR_LINE_NUMBER_ARG  style how to line number is used in editor
   PSQL_HISTORY   alternative location for the command history file
   PSQL_RCalternative location of the user's .psqlrc file
   SHELL  command executed by the \! command
   TMPDIR directory for storing temporary files

 For more information consult the psql section in the PostgreSQL
 documentation.


The patch is ok (apply to master and apply to master without errors).

Maybe we must show the possible values for each variable/option too.

Thinking more about it, would be nice if we have the possibility to show
help for commands too. Some like that:

$ psql -H vacuum
Command: VACUUM
Description: garbage-collect and optionally analyze a database
Syntax:
VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name [
(column_name [, ...] ) ] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name
[, ...] ) ] ]

$ psql --help-command=vacuum
Command: VACUUM
Description: garbage-collect and optionally analyze a database
Syntax:
VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name [
(column_name [, ...] ) ] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name
[, ...] ) ] ]

It's only an idea that occurred to me reading this thread!

Grettings,

--
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Tom Lane
Pavel Stehule pavel.steh...@gmail.com writes:
 for beginners is relative difficult to set psql variable from command line
 and option
 -v ON_ERROR_STOP=1 is little bit unclean.
 and for any user it is not comfortable. So I propose a new psql option
 --on-error-stop

That saves a whole three characters ... not sure it's really worth it,
especially since it will not work on older versions.

Also, it's not like this will save people from having to know about the
ON_ERROR_STOP variable, because there will still be plenty of contexts
where they need to know that (eg, inspecting the setting or changing it
mid-session).  So I don't buy the argument that this simplifies what
beginners need to learn.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 19:13 GMT+01:00 Tom Lane t...@sss.pgh.pa.us:

 Pavel Stehule pavel.steh...@gmail.com writes:
  for beginners is relative difficult to set psql variable from command
 line
  and option
  -v ON_ERROR_STOP=1 is little bit unclean.
  and for any user it is not comfortable. So I propose a new psql option
  --on-error-stop

 That saves a whole three characters ... not sure it's really worth it,
 especially since it will not work on older versions.

 Also, it's not like this will save people from having to know about the
 ON_ERROR_STOP variable, because there will still be plenty of contexts
 where they need to know that (eg, inspecting the setting or changing it
 mid-session).  So I don't buy the argument that this simplifies what
 beginners need to learn.


three chars is not important

important is a  placing in --help output

Regards

Pavel





 regards, tom lane



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Fabrízio de Royes Mello
On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule pavel.steh...@gmail.com
wrote:

 2014-02-28 19:13 GMT+01:00 Tom Lane t...@sss.pgh.pa.us:

 Pavel Stehule pavel.steh...@gmail.com writes:
  for beginners is relative difficult to set psql variable from command
line
  and option
  -v ON_ERROR_STOP=1 is little bit unclean.
  and for any user it is not comfortable. So I propose a new psql option
  --on-error-stop

 That saves a whole three characters ... not sure it's really worth it,
 especially since it will not work on older versions.

 Also, it's not like this will save people from having to know about the
 ON_ERROR_STOP variable, because there will still be plenty of contexts
 where they need to know that (eg, inspecting the setting or changing it
 mid-session).  So I don't buy the argument that this simplifies what
 beginners need to learn.


 three chars is not important

 important is a  placing in --help output


Well, then we just have to add more info to --help

Regards,

--
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 19:25 GMT+01:00 Fabrízio de Royes Mello fabriziome...@gmail.com
:


 On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:
 
  2014-02-28 19:13 GMT+01:00 Tom Lane t...@sss.pgh.pa.us:
 
  Pavel Stehule pavel.steh...@gmail.com writes:
   for beginners is relative difficult to set psql variable from command
 line
   and option
   -v ON_ERROR_STOP=1 is little bit unclean.
   and for any user it is not comfortable. So I propose a new psql option
   --on-error-stop
 
  That saves a whole three characters ... not sure it's really worth it,
  especially since it will not work on older versions.
 
  Also, it's not like this will save people from having to know about the
  ON_ERROR_STOP variable, because there will still be plenty of contexts
  where they need to know that (eg, inspecting the setting or changing it
  mid-session).  So I don't buy the argument that this simplifies what
  beginners need to learn.
 
 
  three chars is not important
 
  important is a  placing in --help output
 

 Well, then we just have to add more info to --help


it can be solution

Pavel



 Regards,

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Timbira: http://www.timbira.com.br
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Alvaro Herrera
Fabrízio de Royes Mello escribió:
 On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule pavel.steh...@gmail.com
 wrote:

  important is a  placing in --help output
 
 Well, then we just have to add more info to --help

I think psql could do with some lines for the possible options for
--pset (14) and --variable (13).  Not sure how to do that without having
it become too cumbersome while not hiding useful variables.

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Fabrízio de Royes Mello
On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera alvhe...@2ndquadrant.com
wrote:

 Fabrízio de Royes Mello escribió:
  On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule pavel.steh...@gmail.com
  wrote:

   important is a  placing in --help output
 
  Well, then we just have to add more info to --help

 I think psql could do with some lines for the possible options for
 --pset (14) and --variable (13).  Not sure how to do that without having
 it become too cumbersome while not hiding useful variables.


Maybe by adding something like --help-pset and --help-variables.

Regards,

--
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 19:55 GMT+01:00 Fabrízio de Royes Mello fabriziome...@gmail.com
:


 On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera alvhe...@2ndquadrant.com
 wrote:
 
  Fabrízio de Royes Mello escribió:
   On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule 
 pavel.steh...@gmail.com
   wrote:
 
important is a  placing in --help output
  
   Well, then we just have to add more info to --help
 
  I think psql could do with some lines for the possible options for
  --pset (14) and --variable (13).  Not sure how to do that without having
  it become too cumbersome while not hiding useful variables.
 

 Maybe by adding something like --help-pset and --help-variables.


I dislike it - I afraid so I know too much users, where --help-pset or
--help-variables is too high expert level. --help is a maximum, what they
can do - and you should not use a strange terminology like  variables.

Regards

Pavel




 Regards,

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Timbira: http://www.timbira.com.br
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Andrew Dunstan


On 02/28/2014 01:27 PM, Pavel Stehule wrote:




 three chars is not important

 important is a  placing in --help output


Well, then we just have to add more info to --help


it can be solution





+1 for at least doing that. I found it annoying just the other day not 
to find it in plsql's --help output, in a moment of brain fade when I 
forgot how to spell it. So it's not just beginners who can benefit, it's 
people like me whose memory occasionally goes awry.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 Well, then we just have to add more info to --help

 +1 for at least doing that. I found it annoying just the other day not 
 to find it in plsql's --help output, in a moment of brain fade when I 
 forgot how to spell it. So it's not just beginners who can benefit, it's 
 people like me whose memory occasionally goes awry.

No objection in principle, but what are we talking about exactly?
Adding some new backslash command that lists all the variables that have
special meanings?  I'm not sure that the main --help output is the place
for this, because that only covers psql's command line switches (and
is plenty long enough already).

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 22:38 GMT+01:00 Tom Lane t...@sss.pgh.pa.us:

 Andrew Dunstan and...@dunslane.net writes:
  Well, then we just have to add more info to --help

  +1 for at least doing that. I found it annoying just the other day not
  to find it in plsql's --help output, in a moment of brain fade when I
  forgot how to spell it. So it's not just beginners who can benefit, it's
  people like me whose memory occasionally goes awry.

 No objection in principle, but what are we talking about exactly?
 Adding some new backslash command that lists all the variables that have
 special meanings?  I'm not sure that the main --help output is the place
 for this, because that only covers psql's command line switches (and
 is plenty long enough already).


Hard to say -

a special long option in General option can be clean.

or new section Tips

Tips:
  -v ON_ERROR_STOP=1   stops on first error





 regards, tom lane



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Erik Rijkers
On Fri, February 28, 2014 22:38, Tom Lane wrote:
 Andrew Dunstan and...@dunslane.net writes:
 Well, then we just have to add more info to --help

 +1 for at least doing that. I found it annoying just the other day not
 to find it in plsql's --help output, in a moment of brain fade when I
 forgot how to spell it. So it's not just beginners who can benefit, it's
 people like me whose memory occasionally goes awry.

 No objection in principle, but what are we talking about exactly?
 Adding some new backslash command that lists all the variables that have
 special meanings?  I'm not sure that the main --help output is the place
 for this, because that only covers psql's command line switches (and
 is plenty long enough already).

   regards, tom lane

Perhaps this compromise:

  -v, --set=, --variable=NAME=VALUE
   set psql variable NAME to VALUE e.g.: -v 
ON_ERROR_STOP=1

this would not lengthen and not broaden the output of psql --help





-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 22:52 GMT+01:00 Erik Rijkers e...@xs4all.nl:

 On Fri, February 28, 2014 22:38, Tom Lane wrote:
  Andrew Dunstan and...@dunslane.net writes:
  Well, then we just have to add more info to --help
 
  +1 for at least doing that. I found it annoying just the other day not
  to find it in plsql's --help output, in a moment of brain fade when I
  forgot how to spell it. So it's not just beginners who can benefit, it's
  people like me whose memory occasionally goes awry.
 
  No objection in principle, but what are we talking about exactly?
  Adding some new backslash command that lists all the variables that have
  special meanings?  I'm not sure that the main --help output is the place
  for this, because that only covers psql's command line switches (and
  is plenty long enough already).
 
regards, tom lane

 Perhaps this compromise:

   -v, --set=, --variable=NAME=VALUE
set psql variable NAME to VALUE e.g.: -v
 ON_ERROR_STOP=1


can be



 this would not lengthen and not broaden the output of psql --help






Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Andrew Dunstan


On 02/28/2014 04:38 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

Well, then we just have to add more info to --help

+1 for at least doing that. I found it annoying just the other day not
to find it in plsql's --help output, in a moment of brain fade when I
forgot how to spell it. So it's not just beginners who can benefit, it's
people like me whose memory occasionally goes awry.

No objection in principle, but what are we talking about exactly?
Adding some new backslash command that lists all the variables that have
special meanings?



That's a pretty good idea, especially if we give that command a command 
line option too, so something like


   psql --special-variables

would run that command and exit.

Maybe I'm over-egging the pudding a bit ;-)

cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 23:01 GMT+01:00 Andrew Dunstan and...@dunslane.net:


 On 02/28/2014 04:38 PM, Tom Lane wrote:

 Andrew Dunstan and...@dunslane.net writes:

 Well, then we just have to add more info to --help

 +1 for at least doing that. I found it annoying just the other day not
 to find it in plsql's --help output, in a moment of brain fade when I
 forgot how to spell it. So it's not just beginners who can benefit, it's
 people like me whose memory occasionally goes awry.

 No objection in principle, but what are we talking about exactly?
 Adding some new backslash command that lists all the variables that have
 special meanings?



 That's a pretty good idea, especially if we give that command a command
 line option too, so something like

psql --special-variables

 would run that command and exit.


it can be second one option.

Pavel



 Maybe I'm over-egging the pudding a bit ;-)

 cheers

 andrew



Re: [HACKERS] proposal: new long psql parameter --on-error-stop

2014-02-28 Thread Pavel Stehule
2014-02-28 22:52 GMT+01:00 Erik Rijkers e...@xs4all.nl:

 e.g.: -v ON_ERROR_STOP=1



I checked it and it is not the most long line there, so it can be a good
solution.

Pavel