Re: [HACKERS] psql \watch always ignores \pset null

2014-11-27 Thread Fujii Masao
On Wed, Nov 19, 2014 at 3:24 PM, Tom Lane t...@sss.pgh.pa.us wrote:
 Will Leinweber w...@heroku.com writes:
 On Tue, Nov 18, 2014 at 9:54 PM, Tom Lane t...@sss.pgh.pa.us wrote:
 Fujii Masao masao.fu...@gmail.com writes:
 Is there any reason why \watch must ignore \pset null setting?

 Hmmm ... the comment offers a reasonable argument for forcing pager = 0,
 but I agree the nullPrint change is not adequately explained.
 Will, do you remember why you did that?

 I tracked down the individual commit[1] from my history where I added
 that. What I added there is very similar to sections in
 src/bin/psql/describe.c. I can't remember specifically my reasoning
 then, but it's likely I copied the patterns there while getting things
 working.
 I do still think it's important to remove the pager, but the nullPrint
 is probably a mistake.

 I took a quick look and noted that the other places where nullPrint is
 summarily forced to null are for \d and similar queries.  For those,
 the code can reasonably have an opinion about what the presentation should
 be like, since it knows what SQL query it's issuing.  That argument surely
 doesn't apply to \watch, so I'm in agreement with Fujii that it'd be
 better to respect the user's \pset setting.

Thanks! I've just fixed this problem.

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: [HACKERS] psql \watch always ignores \pset null

2014-11-18 Thread Tom Lane
Fujii Masao masao.fu...@gmail.com writes:
 Hi,
 /*
  * Set up rendering options, in particular, disable the pager, because
  * nobody wants to be prompted while watching the output of 'watch'.
  */
 myopt.nullPrint = NULL;
 myopt.topt.pager = 0;

 I found psql's \watch command always ignores \pset null setting.
 The above source code comment explains why it does,
 but I'd like to see the specified string for null value even in \watch's
 output, in order to distinguish null and an empty value. Thought?
 Is there any reason why \watch must ignore \pset null setting?

Hmmm ... the comment offers a reasonable argument for forcing pager = 0,
but I agree the nullPrint change is not adequately explained.
Will, do you remember why you did that?

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] psql \watch always ignores \pset null

2014-11-18 Thread Will Leinweber
On Tue, Nov 18, 2014 at 9:54 PM, Tom Lane t...@sss.pgh.pa.us wrote:

 Fujii Masao masao.fu...@gmail.com writes:
  Hi,
  /*
   * Set up rendering options, in particular, disable the pager, because
   * nobody wants to be prompted while watching the output of 'watch'.
   */
  myopt.nullPrint = NULL;
  myopt.topt.pager = 0;

  I found psql's \watch command always ignores \pset null setting.
  The above source code comment explains why it does,
  but I'd like to see the specified string for null value even in \watch's
  output, in order to distinguish null and an empty value. Thought?
  Is there any reason why \watch must ignore \pset null setting?

 Hmmm ... the comment offers a reasonable argument for forcing pager = 0,
 but I agree the nullPrint change is not adequately explained.
 Will, do you remember why you did that?

 regards, tom lane


I tracked down the individual commit[1] from my history where I added
that. What I added there is very similar to sections in
src/bin/psql/describe.c. I can't remember specifically my reasoning
then, but it's likely I copied the patterns there while getting things
working.

I do still think it's important to remove the pager, but the nullPrint
is probably a mistake.

[1]: 
https://github.com/will/postgres/commit/c42d29fece16ec9cb13c159b3307ab9fca892eb2


-- 
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] psql \watch always ignores \pset null

2014-11-18 Thread Tom Lane
Will Leinweber w...@heroku.com writes:
 On Tue, Nov 18, 2014 at 9:54 PM, Tom Lane t...@sss.pgh.pa.us wrote:
 Fujii Masao masao.fu...@gmail.com writes:
 Is there any reason why \watch must ignore \pset null setting?

 Hmmm ... the comment offers a reasonable argument for forcing pager = 0,
 but I agree the nullPrint change is not adequately explained.
 Will, do you remember why you did that?

 I tracked down the individual commit[1] from my history where I added
 that. What I added there is very similar to sections in
 src/bin/psql/describe.c. I can't remember specifically my reasoning
 then, but it's likely I copied the patterns there while getting things
 working.
 I do still think it's important to remove the pager, but the nullPrint
 is probably a mistake.

I took a quick look and noted that the other places where nullPrint is
summarily forced to null are for \d and similar queries.  For those,
the code can reasonably have an opinion about what the presentation should
be like, since it knows what SQL query it's issuing.  That argument surely
doesn't apply to \watch, so I'm in agreement with Fujii that it'd be
better to respect the user's \pset setting.

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