Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query - Mailing list pgsql-bugs

From Andrew Fletcher
Subject Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
Date
Msg-id CAC88CTT0EoQQUvB8aKABgNmwdJ_qv8_Ct2_yCYq93fDc-or=vQ@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15324: Non-deterministic behaviour from parallelisedsub-query  (Andres Freund <andres@anarazel.de>)
List 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@anarazel.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

pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #15324: Non-deterministic behaviour from parallelisedsub-query
Next
From: Marko Tiikkaja
Date:
Subject: Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query