Re: convert integer to bool implicitly - Mailing list pgsql-general

From Sim Zacks
Subject Re: convert integer to bool implicitly
Date
Msg-id do4bno$23gu$1@news.hub.org
Whole thread Raw
In response to Re: convert integer to bool implicitly  (Andreas Kretschmer <akretschmer@spamfence.net>)
Responses Re: convert integer to bool implicitly
List pgsql-general
I know I can do it explicitly, I need to do it implicitly.
I am having a problem with a Microsoft Access front-end , that uses -1
as true and 0 as false.
I have everything worked around all the places where I could find it by
using a cbool(), but this doesn't work with filters, which probably call
a "select where field =-1 or =0." automatically by access.

I get an ODBC error saying that "Operator does not exist: boolean=integer.

I would like to create the implicit conversion, so that it works both
without the cbool from now on, and that filters should work fine.
I have tried a number of different ODBC settings, and no matter what
setting there is always one problem or another that has to be overcome.
I can get it all to work if I put a Before Insert and Update trigger and
change the -1 to true, but I would have to do that for every boolean
field in my application. It would be a lot easier and make sense
system-wise to implicitly convert the integer to bool.

Andreas Kretschmer wrote:
> Sim Zacks <sim@compulab.co.il> schrieb:
>
>> How easy would it be to write a small type extension to have integer
>> automatically convert to bool?
>> For example, I want an implicit conversion that 0 is false and everything
>> else is true.
>
> test=# \d foo;
>       Table "public.foo"
>  Column |  Type   | Modifiers
> --------+---------+-----------
>  val    | integer |
>
> test=# select * from foo;
>  val
> -----
>    0
>    1
>    2
>    3
> (4 rows)
>
> test=# select val::bool from foo;
>  val
> -----
>  f
>  t
>  t
>  t
> (4 rows)
>
>
>> Is this C programming or can you do it with a local procedural language?
>
> You can use regular casts.
>
>
> HTH, Andreas

pgsql-general by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: convert integer to bool implicitly
Next
From: Sim Zacks
Date:
Subject: Re: convert integer to bool implicitly