Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK - Mailing list pgsql-bugs

From Andre Lin
Subject Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK
Date
Msg-id tencent_07224BC44DA2F638D13CDB1C506582EA2806@qq.com
Whole thread Raw
In response to Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK
List pgsql-bugs
> After contemplating that for awhile, by far the least painful way
> seems to be to add the subLinkId to struct SubPlan.  We can get
> away with that in the back branches as long as we add it at the
> end, since SubPlans don't get recorded in the catalogs.

But let's assume that we manage to verify initplan/subplan by adding
subLinkId to SubPlan, we still have problem. In short, the exact
subqueryid of the new MULTIEXPR Param will be pain in the ass...

Consider the UPDATE sql containing sublinks by order like (subplan,
initplan, subplan, ...)

The existing code "offset = list_length(root->multiexpr_params)"
will count initplan into "offset", which is correct when first time here,
but it gives wrong subqueryid after...(when the place of initplan should
be "skipped")

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK
Next
From: Tom Lane
Date:
Subject: Re: BUG #17607: Server process crashes when PLpgSQL function raises error in subtransaction