Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
От | Amit Kapila |
---|---|
Тема | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query |
Дата | |
Msg-id | CAA4eK1LH0X3y9WDOQSmeVGLZb9q1fmc0+8LCndm4_3ENMjo_gw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
On Mon, Sep 3, 2018 at 7:19 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Amit Kapila <amit.kapila16@gmail.com> writes: > > You haven't mentioned anything about backpatching, but I don't see any > > problem with backpatching this fix. > > Yeah, we definitely need to back-patch, and that's another reason not > to touch the catalog contents. > > > I will commit the attached patches in a day or so unless somebody sees > > any problem. > > Looking more closely at the patch: > > * The general design in max_parallel_hazard_walker appears to be that > after the initial check_functions_in_node test, the rest of it should be > an if ... else if ... else if ... else if ... chain of mutually-exclusive > IsA tests. Whoever stuck in the NextValueExpr test (possibly me?) did so > with a tin ear, and you've duplicated that mistake here. Please make it > "else if", and fix the NextValueExpr test to be "else if" while at it. > (Or else get rid of all the "else"s, but that would be a shade less > efficient unless the compiler is very very smart.) > > * The plan tree for the added test case is hard to read because it's > unclear which tenk1 scan is which. I'd suggest adding aliases to > clarify that, eg > > +explain (costs off, verbose) > + select count(*) from tenk1 a where (unique1, two) in > + (select unique1, row_number() over() from tenk1 b); > > HEAD patch is OK otherwise. I didn't look at the back-branch patches. > Thanks for the review. After making the changes suggested by you, I have pushed and back-patched it till 9.6. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления: