pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: jose soares <jose@sferacarta.com>
To: Jelle Ruttenberg <ruttenberg@neroc.nl>
Cc: postgresql-interfaces <pgsql-interfaces@postgresql.org>
Cc: postgresql-general <pgsql-general@postgresql.org>
Cc: postgresql-bugs <pgsql-bugs@postgresql.org>
Subject: Re: [GENERAL] ODBC-client->Linux-server: datatype boolean not recognized?
Date: Thu, 30 Sep 1999 14:47:47 +0200
Message-ID: <37F35BF3.862BC069@sferacarta.com> (raw)
References: <199909301033.MAA06992@mail.neroc.nl>

I had the same problem using m$access as client because m$access treats the
boolean value like an integer
0=false and -1=true while PostgreSQL treats the same value like a string (
'true','t','1','y','yes','false','f','0','n','no').
I created the following function and operator and now it works.

create function MsAccessBool(bool,int4)  returns bool
  as '' language 'internal';

create operator = (
        leftarg=bool,
        rightarg=int4,
        procedure=MsAccessBool,
        commutator='=',
        negator='<>',
        restrict=eqsel,
        join=eqjoinsel
        );

José

PS: remember to uncheck the field: "Bools as char" in the ODBC manager.


Jelle Ruttenberg ha scritto:

> Hello all,
>
> I'm trying to connect from a ODBC-client to PostgreSQL on a Linux-server.
> All is going well, except that the ODBC-client seems not to recognize the
> PostgreSQL boolean-datatype.
>
> Is this really caused by PostgreSQL? If yes: is there a workaround, like
> altering the datatypename in the proper places (pg_type?)? If no: then it
> is another problem and can somebody give a hint?
>
> Thanks,
> Jelle.
>
> I tested and encountered it in the following testsituations:
>
> Situation 1:
> Client: Mac via OpenLink ODBC-Client
> Server: Linux RH 6.0 via OpenLink Requestbroker
> Result: it looks like PostgreSQL-boolean is converted to SQL_C_CHAR
>
> Situation 2:
> Client: NT with psqlODBC
> Server: same Linux
> Result: in MS-Query:
> -  viewing the table-definitions, it comes with the message that it
> doesn't recognize datatype 'bool'
> -  selecting values it looks like PostgreSQL-boolean is converted to a
> numeric
>
> PostgreSQL: 6.5.1
>
> --------------------------------------------------------------
>                    NEROC Publishing Solutions
>
>                       Jelle Ruttenberg
>
> De Run 1131, 5503 LB Veldhoven    Phone  : +31-(0)40-2586641
> P.O.Box 133, 5500 AC Veldhoven    Fax    : +31-(0)40-2541893
> The Netherlands                   E-mail : ruttenberg@neroc.nl
> --------------------------------------------------------------
>
> ************




view thread (4+ messages)  latest in thread

Message-ID: <37F35BF3.862BC069@sferacarta.com>
Permalink:  ../37F35BF3.862BC069@sferacarta.com/
Also on:    postgresql.org/message-id/37F35BF3.862BC069@sferacarta.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: jose@sferacarta.com, ruttenberg@neroc.nl, pgsql-general@postgresql.org, pgsql-bugs@postgresql.org
  Subject: Re: [GENERAL] ODBC-client->Linux-server: datatype boolean not recognized?
  In-Reply-To: <37F35BF3.862BC069@sferacarta.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox