Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
От | Amit Kapila |
---|---|
Тема | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Дата | |
Msg-id | CAA4eK1LUQX0HR_9TieA0DYpYcWFjGT-CPJ9E+HV4OnzusFY8VQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query (Marko Tiikkaja <marko@joh.to>) |
Ответы |
Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
|
Список | pgsql-bugs |
On Tue, Aug 14, 2018 at 4:42 PM, Marko Tiikkaja <marko@joh.to> wrote: > Hi Amit, > >> > >> > 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; > This looks related, but I think this is a different issue. The real reason for this case is that row_number is marked as parallel_safe which seems to be wrong. I think it should be marked as parallel_unsafe. This needs some more analysis w.r.t which other Window functions has a similar problem. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления: