Re: Limit+Offset query wrong result in Postgres 9.0.3 ?

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: urkpostenardr <urkpostenardr(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Limit+Offset query wrong result in Postgres 9.0.3 ?
Date: 2012-10-12 10:33:52
Message-ID: CAF-3MvPe-H45CZ6Tnai=PeXAOx8woekkt=UkNjzWnZb+rpTr5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 12 October 2012 04:55, urkpostenardr <urkpostenardr(at)gmail(dot)com> wrote:
> Hi,
>
> Is this bug in Postgres ?
> If yes, is it fixed in latest release ?
> Second query should return 2 rows instead of 1 ?
>
> create table t(i int);
> insert into t values(1);
> insert into t values(2);
> insert into t values(3);
> pgdb=# select i from t order by i limit 9223372036854775806 offset 1;
> select i from t order by i limit 9223372036854775806 offset 1;
> i
> 2
> 3
> (2 rows)
> pgdb=# select i from t order by i limit 9223372036854775807 offset 1;
> select i from t order by i limit 9223372036854775807 offset 1;
> i
> 2
> (1 row)
> pgdb=#

You seem to have hit the end of a 32-bit signed integer and it wraps
around. There's probably some internal code that modifies limit-values
<1 to 1, or you wouldn't have gotten any results at all...

It does seem a fairly insane number to use for limit, it's probably
better to leave it out if you're going to accept that many results.

--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chitra Creta 2012-10-12 14:44:02 Strategies/Best Practises Handling Large Tables
Previous Message Albe Laurenz 2012-10-12 09:10:40 Re: Limit+Offset query wrong result in Postgres 9.0.3 ?