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

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to