RE: [GENERAL] Problem with SELECT on large negative INT4
От | Hiroshi Inoue |
---|---|
Тема | RE: [GENERAL] Problem with SELECT on large negative INT4 |
Дата | |
Msg-id | NDBBIJLOILGIKBGDINDFAEGLCCAA.Inoue@tpf.co.jp обсуждение исходный текст |
Ответ на | Problem with SELECT on large negative INT4 (Nicolas Huillard <nhuillard@ghs.fr>) |
Ответы |
Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4
Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4 |
Список | pgsql-sql |
> -----Original Message----- > From: owner-pgsql-general@postgresql.org > [mailto:owner-pgsql-general@postgresql.org]On Behalf Of Nicolas Huillard > > I have a DB with is updated using MS Access. Primary keys are > Int4 with default random values ("NuméroAuto" + "Aléatoire" in Access). > The DB is migrated as-is in Postgres, with tbl_prod.cle_prod > field containing values from -2057496808 to 2139583719. > When I SELECT in the table, using the INT4 cle_prod value, PG > doesn't find the tuple. When I SELECT using the VARCHAR(10) > ref_prod value, PG finds the tuple, and show the right value for > the cle_prod filed : the same as the one I SELECTed for... > > This sounds like the long negative integer values given in PSQL > is not converted correctly while executing. > Using a long positive integer value, all works like a charm... > > Below is the queries type sto sho what append. > I'm using Postgres 6.5.2 from the RPMs. > Could you try the follwoing patch ? Regards. Hiroshi Inoue *** nbtcompare.c 2000/01/11 03:33:34 1.3 --- nbtcompare.c 2000/01/19 05:42:06 *************** *** 34,40 **** int32 btint4cmp(int32 a, int32 b) { ! return a - b; } int32 --- 34,45 ---- int32 btint4cmp(int32 a, int32 b) { ! if (a > b) ! return 1; ! else if (a == b) ! return 0; ! else ! return -1; } int32
В списке pgsql-sql по дате отправления: