Allow \pset to parse "on or off" for boolean values

Started by Chad Wagnerover 19 years ago3 messagespatches
Jump to latest
#1Chad Wagner
chad.wagner@gmail.com

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
#2Bruce Momjian
bruce@momjian.us
In reply to: Chad Wagner (#1)
Re: Allow \pset to parse "on or off" for boolean values

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

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/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. +

#3Bruce Momjian
bruce@momjian.us
In reply to: Chad Wagner (#1)
Re: Allow \pset to parse "on or off" for boolean values

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

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/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. +

Attachments:

/rtmp/difftext/x-diffDownload+86-81