Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4 - Mailing list pgsql-general

From Bruce Momjian
Subject Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4
Date
Msg-id 200001271759.MAA26324@candle.pha.pa.us
Whole thread Raw
In response to RE: [GENERAL] Problem with SELECT on large negative INT4  (Nicolas Huillard <nhuillard@ghs.fr>)
List pgsql-general
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> I haven't got the opportunity to recompile Postgres right now, but will do that. Just reading the code, I can't
figureout the exact difference, but who knows... 
> Did someone already applied this ?

No, not sure how to deal with it.

>
> Nicolas Huillard
>
> -----Message d'origine-----
> De:    Hiroshi Inoue [SMTP:Inoue@tpf.co.jp]
> Date:    jeudi 27 janvier 2000 17:31
> _:    Nicolas Huillard
> Cc:    pgsql-general@hub.org; pgsql-sql@hub.org
> Objet:    RE: [GENERAL] Problem with SELECT on large negative INT4
>
> > -----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
>
>
>
> ************
>
>
> ************
>
>


--
  Bruce Momjian                        |  http://www.op.net/~candle
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-general by date:

Previous
From: Nicolas Huillard
Date:
Subject: RE: [GENERAL] Problem with SELECT on large negative INT4
Next
From: Terence Gannon
Date:
Subject: Large Functions and Index Rebuild