Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query

From: Andrew Fletcher <andy(at)prestigedigital(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
Date: 2018-08-13 16:40:49
Message-ID: CAC88CTT0EoQQUvB8aKABgNmwdJ_qv8_Ct2_yCYq93fDc-or=vQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Sorry the bug report was unclear.

Its not just that its returning different accounts from the subquery.

In the first repro you can see account 304873 appears twice in the correct
result but only once in the incorrect one. Even though its the same data,
same query etc. If account 304873 is selected within the limit of the
subquery then all the results for it should be returned in the outer query.

In the second repro you can see more than 3 accounts in the outer query,
even though the inner one is limited to 3.

Hope that makes it clearer.

Cheers,

Andy

On Mon, Aug 13, 2018 at 5:35 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:

> Hi,
>
> On 2018-08-13 16:14:03 +0000, PG Bug reporting form wrote:
> > Execute this query (multiple times!)
> >
> > select * from events where account in (select account from events where
> > data->>'page' = 'success.html' limit 3);
>
> Well, the subselect with thelimit going to return different results from
> run to run. Unless you add an ORDER BY there's no guaranteed order in
> which tuples are returned. So I don't think it's surprising that you're
> getting results that differ between runs.
>
> Greetings,
>
> Andres Freund
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Marko Tiikkaja 2018-08-13 16:43:27 Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
Previous Message Andres Freund 2018-08-13 16:35:18 Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query