Обсуждение: PsqlODBC broken due to int4out(usesysid)

Поиск
Список
Период
Сортировка

PsqlODBC broken due to int4out(usesysid)

От
Patrick Welche
Дата:
The aim is to import a table from postgresql into M$ access using
PsqlODBC v06-50-0000. This is withPostgreSQL 7.1devel on i386-unknown-netbsdelf1.5E, compiled by GCC egcs-1.1.2
source code of 14 August.

Problem: the pointy clicky box appears with no tables to select for import as
the driver sends:

select relname,usename,relhasrulesfrom pg_class,pg_userwhere relkind = 'r'and relname !~'^xinv[0-9]+'and
int4out(usesysid)=int4out(relowner)order by relname;
 

Reason: AFAICT it really doesn't want "int4out"..

select relname,usename,relhasrulesfrom pg_class,pg_userwhere relkind = 'r'and relname !~'^xinv[0-9]+'and usesysid =
relownerorderby relname;
 

works fine.. Can someone fix please?

Cheers,

Patrick


Re: PsqlODBC broken due to int4out(usesysid)

От
Tom Lane
Дата:
Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> Reason: AFAICT it really doesn't want "int4out"..

Yup, the odbc driver is already fixed in current sources (and
back-patched so it will be in 7.0.3).

In the long run it'd be nice if the backend either handled this sort
of query correctly or at least raised an error, but that's probably
not going to happen for 7.1.  We'll need some way of declaring in the
datatype system what kind of data the outputs of output-conversion
functions really are.  Various people (including me) have muttered
about this off-and-on, but no one's put forward a complete proposal.
        regards, tom lane


Re: PsqlODBC broken due to int4out(usesysid)

От
Patrick Welche
Дата:
On Mon, Oct 02, 2000 at 01:10:47PM -0400, Tom Lane wrote:
> Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> > Reason: AFAICT it really doesn't want "int4out"..
> 
> Yup, the odbc driver is already fixed in current sources (and
> back-patched so it will be in 7.0.3).

Great! - is a compiled driver available anywhere? (I haven't tried
cross-compiling before..  (NetBSD->M$))

On the other hand copy table to 'file' using delimiters ','; works fine too!

Cheers,

Patrick