Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
От | Marko Tiikkaja |
---|---|
Тема | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Дата | |
Msg-id | CAL9smLDj9Nwm0yzShEGjfNfkNc+NzCHmHwNXFOkwp74Oj3r84g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
|
Список | pgsql-bugs |
Hi Amit,
On Tue, Aug 14, 2018 at 2:09 PM, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Tue, Aug 14, 2018 at 3:52 PM, Marko Tiikkaja <marko@joh.to> wrote:
> On Tue, Aug 14, 2018 at 7:10 AM, Amit Kapila <amit.kapila16@gmail.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
В списке pgsql-bugs по дате отправления: