Re: parallelize queries containing initplans

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: parallelize queries containing initplans
Date: 2017-10-07 13:52:41
Message-ID: CA+Tgmoacvwh2pW_ux9PPdSKx+kn+X_hUfyCBk7VvvU10WwcR+Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Oct 6, 2017 at 7:08 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> I have fixed the other review comment related to using safe_param_list
> in the attached patch. I think I have fixed all comments given by
> you, but let me know if I have missed anything or you have any other
> comment.

- Param *param = (Param *) node;
+ if (list_member_int(context->safe_param_ids, ((Param *)
node)->paramid))
+ return false;

- if (param->paramkind != PARAM_EXEC ||
- !list_member_int(context->safe_param_ids, param->paramid))
- {
- if (max_parallel_hazard_test(PROPARALLEL_RESTRICTED, context))
- return true;
- }
- return false; /* nothing to recurse to */
+ if (max_parallel_hazard_test(PROPARALLEL_RESTRICTED, context))
+ return true;

I think your revised logic is wrong here because it drops the
paramkind test, and I don't see any justification for that. IIUC,
param IDs are tracked separately for extern and exec parameters, so
why would we ignore that distinction here?

But I'm also wondering if we're missing a trick here, because isn't a
PARAM_EXTERN parameter always safe, given SerializeParamList? If so,
this || ought to be &&, but if that adjustment is needed, it seems
like a separate patch.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-10-07 14:23:08 Re: separate serial_schedule useful?
Previous Message Robert Haas 2017-10-07 13:34:50 Re: Proposal: Local indexes for partitioned table