Re: Problem in using PostgreSQL ODBC driver with VBA

From: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
To: 'Fred Parkinson' <FredP(at)abag(dot)ca(dot)gov>, "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>, "vincenzo(dot)turturro(at)regione(dot)toscana(dot)it" <vincenzo(dot)turturro(at)regione(dot)toscana(dot)it>
Subject: Re: Problem in using PostgreSQL ODBC driver with VBA
Date: 2016-11-08 00:58:40
Message-ID: 0A3221C70F24FB45833433255569204D1F63C53D@G01JPEXMBYT05
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

From: pgsql-odbc-owner(at)postgresql(dot)org
> [mailto:pgsql-odbc-owner(at)postgresql(dot)org] On Behalf Of Fred Parkinson
> One thing I now remember from when this issue first appeared is that there
> was another possible solution.
> When trying to use FALSE or TRUE in an Access query that uses a postgres
> boolean, I would get the error:
> ODBC call failed: ERROR: operator does not exist: boolean = integer;...
>
> Apparently you can write an operator and add it to the postgres server,
> an operator that will perform the comparison between a boolean and an
> integer.
> The intern I was working with at the time tried once to write that operator,
> but when his attempt failed at the first try, we went with the kludge because
> we were in a hurry and didn't want to spend the time debugging his code.
>
> I am not sure but I think the operator was written in PHP. In any case,
> that might be a fruitful line of inquery given that you can't rewrite a
> major application to use the kludge I describe below.

A dirty hack is to run the following UPDATE only once on the target database. You can do this from any program such as psql.

UPDATE pg_cast
SET castcontext = 'I'
WHERE castsource = 'int'::regtype AND
casttarget = 'boolean'::regtype;

This will make the type cast from integer to Boolean implicit, enabling the comparison like "WHERE 1 = true".

But implicit casts might cause unexpected trouble. If you find something wrong, revert the castcontext to 'e'.

Regards
Takayuki Tsunakawa

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Oscar Obdulio Chevez Ulloa 2016-11-08 02:51:06 Buenos días. Consulta sobre postgre
Previous Message Fred Parkinson 2016-11-07 16:02:42 Re: Problem in using PostgreSQL ODBC driver with VBA