Re: PATCH: psql boolean display - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: PATCH: psql boolean display
Date
Msg-id 20120821.080935.580933286629672719.t-ishii@sraoss.co.jp
Whole thread Raw
In response to Re: PATCH: psql boolean display  (Phil Sorber <phil@omniti.com>)
List 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.

Right. "t", "f" are generated in backend. See boolout() in
backend/utils/adt/bool.c for more details.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: sha1, sha2 functions into core?
Next
From: "David Johnston"
Date:
Subject: Re: temporal support patch