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