Problem with SELECT on large negative INT4 - Mailing list pgsql-sql

From Nicolas Huillard
Subject Problem with SELECT on large negative INT4
Date
Msg-id 01BF68CB.9C1C3F90@agen.int.ghs
Whole thread Raw
Responses RE: [GENERAL] Problem with SELECT on large negative INT4  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Re: [GENERAL] Problem with SELECT on large negative INT4  (John Brothers <johnbr@mindspring.com>)
List pgsql-sql
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
SELECTedfor... 

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.

Nicolas Huillard




gest=> select cle_prod, ref_prod from tbl_prod where ref_prod='4866VC';
   cle_prod|ref_prod
-----------+--------
-2057496808|4866VC
(1 row)

gest=> select cle_prod, ref_prod from tbl_prod where cle_prod = -2057496808;
cle_prod|ref_prod
--------+--------
(0 rows)

gest=> \d tbl_prod
Table    = tbl_prod
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| cle_prod                         | int4 not null default nextval('" |     4 |
| ref_prod                         | varchar() not null               |    10 |
...
+----------------------------------+----------------------------------+-------+
Index:    tbl_prod_pkey

gest=> select version();
version
--------------------------------------------------------------
PostgreSQL 6.5.2 on i486-pc-linux-gnu, compiled by gcc 2.7.2.3
(1 row)

gest=>


pgsql-sql by date:

Previous
From: Chris Bitmead
Date:
Subject: Ars Digita and PostgreSQL
Next
From: "Hiroshi Inoue"
Date:
Subject: RE: [GENERAL] Problem with SELECT on large negative INT4