Re: PATCH: psql boolean display

Kevin Grittner <kevin.grittner@wicourts.gov>

From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Gurjeet Singh" <singh.gurjeet@gmail.com>, "Thom Brown" <thom@linux.com>
Cc: "Pavel Stehule" <pavel.stehule@gmail.com>, "Robert Haas" <robertmhaas@gmail.com>, "Phil Sorber" <phil@omniti.com>, "PostgreSQL-development Hackers" <pgsql-hackers@postgresql.org>
Date: 2012-08-20T22:28:04Z
Lists: pgsql-hackers
Gurjeet Singh <singh.gurjeet@gmail.com> wrote:
 
> On occasions I have wanted psql to emit the full 'True'/'False'
> words instead of cryptic one-letter t/f, which can get lost on
> long rows that get wrapped around on screen. Writing long-winded
> CASE expressions to get the effect is too much for small ad-hoc
> queries.
> 
> I thought of inventing a data type whose out-function would emit
> these strings, and tack a ::mybool to the expression I want
> modified. But that would break the applications if somebody pasted
> the same  query in an application (JDBC or some such that
> understands boolean) and expected a boolean data type instead of a
> text output of an expression.
 
The type itself does output true/false; it's just psql that uses
t/f.
 
test=# select 'true'::boolean::text;
 text 
------
 true
(1 row)
 
test=# select 'false'::boolean::text;
 text  
-------
 false
(1 row)
 
That has always seemed quite odd (and occasionally inconvenient) to
me.
 
-Kevin