Allow \pset to parse "on or off" for boolean values
This is a TODO item:
o Allow psql \pset boolean variables to set to fixed values, rather
than toggle
Basically allows for:
test=# \pset expanded on
Expanded display is on.
test=# \pset footer off
Default footer is off.
test=# \pset footer
Default footer is on.
test=# \pset footer
Default footer is off.
test=# \pset footer
Default footer is on.
Basically the change is to check if value in do_pset is != NULL to call
ParseVariableBool to get a true/false and set the value directly, of the
second parameter is not provided then the "old logic" of toggling is
supported.
The pset variables that are adjusted are:
expanded
numericlocale
tuples_only
pager (supports on/off/always now)
footer
Attachments:
psql_pset_parsebool.diffapplication/octet-stream; name=psql_pset_parsebool.diffDownload+70-65
Your patch has been added to the PostgreSQL unapplied patches list at:
http://momjian.postgresql.org/cgi-bin/pgpatches
It will be applied as soon as one of the PostgreSQL committers reviews
and approves it.
---------------------------------------------------------------------------
Chad Wagner wrote:
This is a TODO item:
o Allow psql \pset boolean variables to set to fixed values, rather
than toggleBasically allows for:
test=# \pset expanded on
Expanded display is on.
test=# \pset footer off
Default footer is off.
test=# \pset footer
Default footer is on.
test=# \pset footer
Default footer is off.
test=# \pset footer
Default footer is on.Basically the change is to check if value in do_pset is != NULL to call
ParseVariableBool to get a true/false and set the value directly, of the
second parameter is not provided then the "old logic" of toggling is
supported.The pset variables that are adjusted are:
expanded
numericlocale
tuples_only
pager (supports on/off/always now)
footer
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
I have applied a modified version of your patch, attached. You missed
the cases where \x and \t also need to support boolean constants. The
documentation lumped them all together, and they should be consistent
with the \pset behavior. You will see my change in the modified
do_pset() calls.
Thanks.
---------------------------------------------------------------------------
Chad Wagner wrote:
This is a TODO item:
o Allow psql \pset boolean variables to set to fixed values, rather
than toggleBasically allows for:
test=# \pset expanded on
Expanded display is on.
test=# \pset footer off
Default footer is off.
test=# \pset footer
Default footer is on.
test=# \pset footer
Default footer is off.
test=# \pset footer
Default footer is on.Basically the change is to check if value in do_pset is != NULL to call
ParseVariableBool to get a true/false and set the value directly, of the
second parameter is not provided then the "old logic" of toggling is
supported.The pset variables that are adjusted are:
expanded
numericlocale
tuples_only
pager (supports on/off/always now)
footer
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +