Skip site navigation (1) Skip section navigation (2)

Re: Binary data type with other output method

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Andreas 'ads' Scherbaum <adsmail(at)wars-nicht(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Binary data type with other output method
Date: 2007-12-25 23:15:37
Message-ID: 47718F19.1070908@dunslane.net (view raw or flat)
Thread:
Lists: pgsql-hackers

Andreas 'ads' Scherbaum wrote:
> Hello,
>
> On Tue, 25 Dec 2007 11:10:25 -0500 Andrew Dunstan wrote:
>
>   
>> Andreas 'ads' Scherbaum wrote:
>>     
>>> i'm in the need to create a boolean datatype which returns an integer
>>> instead of the usual 't'/'f'. Before anyone starts to point me at
>>> casts: it's a lot overhead to cast some hundred occurances beside the
>>> source of trouble, if you forget one.
>>>   
>>>       
>> Do you really need a new datatype or just to change the output behaviour 
>> of the inbuilt type? That should be quite easy to do in just a few lines 
>> of code.
>>     
>
> Just another output behavior would be enough ... but without changing
> the PG source itself. Since the package comes with the distribution,
> there's no way to build PG from source.
>
>
>
>   

I think all you need to do it this:

Take the code for boolout() in src/backend/utils/adt/bool.c, adjust it 
and and make it a new function boolout2. Use pgxs to make it a loadable 
module.

Then load it and adjust the catalog entry for the bool type to use 
boolout2 instead of boolout.

Caveat: I think you would need to redo the type adjustment after every 
restore, as it wouldn't be dumped.

cheers

andrew

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2007-12-26 01:11:45
Subject: Re: Binary data type with other output method
Previous:From: Andreas 'ads' ScherbaumDate: 2007-12-25 22:27:11
Subject: Re: Binary data type with other output method

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group