Re: PATCH: psql boolean display

Phil Sorber <phil@omniti.com>

From: Phil Sorber <phil@omniti.com>
To: Kevin Grittner <Kevin.Grittner@wicourts.gov>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL-development Hackers <pgsql-hackers@postgresql.org>, Thom Brown <thom@linux.com>, Gurjeet Singh <singh.gurjeet@gmail.com>
Date: 2012-08-20T22:31:57Z
Lists: pgsql-hackers
On Aug 20, 2012 6:28 PM, "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
wrote:
>
> 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.

I think that may be from the cast. I didn't see any transformation in psql.
Looked like it was raw output from the server.

>
> -Kevin