Re: parallelize queries containing initplans
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Haribabu Kommi <kommi.haribabu@gmail.com>, Kuntal Ghosh <kuntalghosh.2007@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-10-05T17:16:17Z
Lists: pgsql-hackers
On Thu, Oct 5, 2017 at 6:08 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Thu, Oct 5, 2017 at 5:52 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: >> Now, unless, I am missing something here, it won't be possible to >> detect params in such cases during forming of join rels and hence we >> need the tests in generate_gather_paths. Let me know if I am missing >> something in this context or if you have any better ideas to make it >> work? > > Hmm, in a case like this, I think we shouldn't need to detect it. The > Var is perfectly parallel-safe, the problem is that we can't use a > not-safe plan for the inner rel. I wonder why that's happening > here... > It is because the inner rel (Result Path) contains a reference to a param which appears to be at the same query level. Basically due to changes in max_parallel_hazard_walker(). -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Pass InitPlan values to workers via Gather (Merge).
- e89a71fb449a 11.0 landed
-
Track in the plan the types associated with PARAM_EXEC parameters.
- e64861c79bda 11.0 landed
-
Force rescanning of parallel-aware scan nodes below a Gather[Merge].
- 7df2c1f8daeb 11.0 cited