From: | Marko Tiikkaja <marko(at)joh(dot)to> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, Andrew Fletcher <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 11:12:56 |
Message-ID: | CAL9smLDj9Nwm0yzShEGjfNfkNc+NzCHmHwNXFOkwp74Oj3r84g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hi Amit,
On Tue, Aug 14, 2018 at 2:09 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
wrote:
> On Tue, Aug 14, 2018 at 3:52 PM, Marko Tiikkaja <marko(at)joh(dot)to> wrote:
> > On Tue, Aug 14, 2018 at 7:10 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
> > wrote:
> >>
> >> Yeah, one idea could be that we detect this in
> >> max_parallel_hazard_walker during the very first pass it performs on
> >> query-tree. Basically, in the SubLink node check, we can detect
> >> whether the subselect has Limit/Offset clause and if so, then we can
> >> treat it as parallel_unsafe. I have tried that way and it prohibits
> >> the parallel plan for the reported queries. However, I think more
> >> analysis and verification is required to see if it can happen in any
> >> other related cases.
> >
> >
> > This seems broken as well:
> >
> > create table qwr(a int not null, b int not null, c text not null);
> > insert into qwr select i, i, (select prosrc from pg_proc where
> > oid=11734) from generate_series(1, 128000) i;
> > set parallel_setup_cost to 0;
> > analyze qwr;
> > select count(*) from qwr where (a, b) in (select a, row_number()
> over()
> > from qwr);
> >
>
> I am getting below error in above steps:
>
> postgres=# insert into qwr select i, i, (select prosrc from
> pg_proc where oid=11734) from generate_series(1, 128000) i;
> ERROR: null value in column "c" violates not-null constraint
> DETAIL: Failing row contains (1, 1, null).
>
Sorry, try this instead:
insert into qwr select i, i, (select prosrc from pg_proc where
oid='ts_debug(regconfig,text)'::regprocedure) from generate_series(1,
128000) i;
.m
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2018-08-14 11:50:17 | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Previous Message | Amit Kapila | 2018-08-14 11:09:19 | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |