Re: Postgres offset and limit bug

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Ming <ming(at)cleanstormwater(dot)com(dot)au>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Postgres offset and limit bug
Date: 2022-09-08 09:03:33
Message-ID: CAApHDvoDjb0-V2KHWTC5Zz3UJmP8iRaquUHdCqrsD6At5nNFBw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, 8 Sept 2022 at 20:49, Ming <ming(at)cleanstormwater(dot)com(dot)au> wrote:
> The issue is when I have limit 1 with the offset, the first record id will be 45 (which should be 46) . (Although, it’s ordered by path, the of is actually ordered as well.) But without the limit 1 the results will be correct. And when I plus one to the offset value, the actual offset will increase by 2.
>
> In general, the offset value with 45 is behave as offset 44. But when change the value to other thing, the results will be all good.

That's probably because the path for 45 and 46 are the same and you've
only specified that you want the results ordered by path. If there are
duplicates then the order that duplicates appear in will be
non-deterministic. Maybe you'll want to consider adding
source_template_id to the ORDER BY.

David

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2022-09-08 10:19:30 BUG #17610: Use of multiple composite types incompatible with record-typed function parameter
Previous Message Ming 2022-09-08 08:48:58 Re: Postgres offset and limit bug