From: Andre Lin <857348270@qq.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Cc: guofenglinux <guofenglinux@gmail.com>
Subject: Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK
Date: Tue, 6 Sep 2022 00:50:19 +0800
Message-ID: <tencent_07224BC44DA2F638D13CDB1C506582EA2806@qq.com> (raw)
In-Reply-To: <2439275.1662394684@sss.pgh.pa.us>
References: <17606-e5c8ad18d31db96a@postgresql.org>
<CAMbWs49A0FwQKq=_3pn6tRJqG5E_Y4uiUj9zAtuNbS0cTMYZ_A@mail.gmail.com>
<CAMbWs48Qf=2ZL-d-0=9rYBZUPsp6FdLysuYULTtEvErwi3w3jg@mail.gmail.com>
<2435363.1662393106@sss.pgh.pa.us>
<2439275.1662394684@sss.pgh.pa.us>
> 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")
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: 857348270@qq.com, tgl@sss.pgh.pa.us, pgsql-bugs@lists.postgresql.org, guofenglinux@gmail.com
Subject: Re: BUG #17606: There is still some glitch in 3f7323cbb fixing failure of MULTIEXPR_SUBLINK
In-Reply-To: <tencent_07224BC44DA2F638D13CDB1C506582EA2806@qq.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox