From: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Marko Tiikkaja <marko(at)joh(dot)to>, Andres Freund <andres(at)anarazel(dot)de>, andy(at)prestigedigital(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Date: | 2018-08-14 07:36:07 |
Message-ID: | CAA4eK1LwH851qD2F1-WQP=xA=-cbJkTCE5UEeyJg3Q7XCN3c+g@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Tue, Aug 14, 2018 at 9:40 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> On Mon, Aug 13, 2018 at 10:56 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> As Tom said, it is evident from the plan that the Limit clause is
> pushed in the inner-side of the parallel plan and not all the workers
> compute the same result set for the inner side.
>
>> Likely, we need to treat the presence of a LIMIT/OFFSET in a sub-select
>> as making it parallel-unsafe, for exactly the reason that that makes
>> its results non-deterministic.
>>
>
> Yeah, one idea could be that we detect this in
> max_parallel_hazard_walker during the very first pass it performs on
> query-tree.
>
I have written a patch along those lines. This is still a WIP patch
and it is mainly to demonstrate what I have in mind. There is one
test in select_parallel.sql failing after this patch, but I think that
is expected and we need to adjust that test. Let me know if you see
a flaw in this approach?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
prohibit_parallel_limit_subselect_v1.patch | application/octet-stream | 2.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Marko Tiikkaja | 2018-08-14 10:22:02 | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Previous Message | Sebastian Schwaighofer | 2018-08-14 07:05:57 | No receiving of password |