Обсуждение: invalid input syntax for type tid: "(,)"

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

invalid input syntax for type tid: "(,)"

От
Jose' Cruanyes
Дата:
at a point the postgresql ODBC driver issues a command like this (not
questioning here how useful or correct it could be)

select * from table1 where ctid = '(,)';

this command works (?) returning zero rows without error, even from
psql,
when the db is hosted in the following systems:

- debian i386 using the stable postgresql7.2.1-2 package
- debian ppc using the stable postgresql7.2.1-2 package
- debian i386 using the testing postgresql7.4.2-2 package
- MacOSX 10.2 using the 7.3.4 compiled from source


but when hosted in a MacOSX 10.3 (Panther) using postgres 7.4.x, or
7.3.x
compiled from source we get:

(in 7.4)        ERROR:  invalid input syntax for type tid: "(,)"
or
(in 7.3)        ERROR: tidin: invalid value

I've tried on three different machines and a miriad of different
configure parameters and always get the same error...

probably is an incompatible version of some external lib?, which one?
who is responsible of the parsing of the command?





Pax et Bonum

# dott. Jose' Cruanyes Aguilar  -  C.E. Soft srl
#  Pzza. Firenze,4 MILANO  -  XX Settembre 10, CREMONA
#   02,33603122                0372,460602


Re: [ODBC] invalid input syntax for type tid: "(,)"

От
Tom Lane
Дата:
"Jose' Cruanyes" <cruanyes@cegroup.it> writes:
> select * from table1 where ctid = '(,)';
> [ works on some machines and not others ]

I would argue that the ODBC driver is broken and needs to be fixed,
as does the TID input parser which should never allow this ...

However, the reason for the platform dependency is probably that
strtoul() is setting errno on some machines and not others.

            regards, tom lane