Skip site navigation (1) Skip section navigation (2)

Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: John Brothers <johnbr(at)mindspring(dot)com>
Cc: pgsql-general(at)hub(dot)org, pgsql-sql(at)hub(dot)org
Subject: Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4
Date: 2000-01-28 04:49:14
Message-ID: 9485.949034954@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-generalpgsql-hackerspgsql-sql
John Brothers <johnbr(at)mindspring(dot)com> writes:
> I don't think that patch will work - Hiroshi whipped up that patch for
> me a week ago for a different problem - we have a table with duplicate
> primary keys, which seems to be an arithmetic overflow problem because
> the index key values can be both very large positive and very large
> negative numbers.

Actually, if Nicolas' table contains both very large positive and very
large negative integers, then his index could be messed up pretty badly.
What Hiroshi saw (and I missed :-() was that btint4cmp can fail and
return a result of the wrong sign if the difference between two integers
overflows.  Since index sorting depends critically on the assumption
that the comparator always returns consistent results (a < b and b < c
must imply a < c, but this can fail if a - c overflows), you could have
an out-of-order index.  And then probes into the index could fail to
find items they should find ... which is exactly the complained-of
symptom.

Hiroshi neglected to mention that you'd probably need to drop and
recreate the index after applying the patch; if it's indeed out of
order, just patching the comparator bug isn't enough to fix it.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2000-01-28 04:51:03
Subject: Re: [HACKERS] very minor problem in contrib/dateformat/to-from_char.c
Previous:From: Bruce MomjianDate: 2000-01-28 04:48:23
Subject: Re: OIDS (Re: [HACKERS] Well, then you keep your darn columns)

pgsql-sql by date

Next:From: Bruce MomjianDate: 2000-01-28 05:31:26
Subject: Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4
Previous:From: Hiroshi InoueDate: 2000-01-28 04:40:56
Subject: RE: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4

pgsql-general by date

Next:From: Bruce MomjianDate: 2000-01-28 05:31:26
Subject: Re: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4
Previous:From: Hiroshi InoueDate: 2000-01-28 04:40:56
Subject: RE: [SQL] RE: [GENERAL] Problem with SELECT on large negative INT4

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group