Re: [HACKERS] parallelize queries containing initplans

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Haribabu Kommi <kommi.haribabu@gmail.com>, Kuntal Ghosh <kuntalghosh.2007@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-11-14T18:55:55Z
Lists: pgsql-hackers

Attachments

On Tue, Nov 14, 2017 at 11:00 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Yeah, I'm sure it is.  I have a vague recollection that there might be
> existing regression test cases exercising such things, though I won't
> swear to that.  The "orderstest" bit in subselect.sql looks like it
> might be meant to do that...

Here's an updated patch that attempts to work around this problem using DSA.

It could use a test case that actually tickles the new logic in
ExecParallelReinitialize ... this is mostly just to show the concept.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Commits

  1. Pass InitPlan values to workers via Gather (Merge).

  2. Track in the plan the types associated with PARAM_EXEC parameters.

  3. Force rescanning of parallel-aware scan nodes below a Gather[Merge].