Fix oversight in recent MULTIEXPR_SUBLINK fix.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Sep 2022 18:54:41 +0000 (14:54 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Sep 2022 18:54:41 +0000 (14:54 -0400)
commit42d0d46f9825f7c3977e874380b093bb42a7e8ac
tree6c9dc0752534b0cf69eae4886b0dfea2d725866f
parent258b0411b243856aa02d955dc8f9ccfa631c500f
Fix oversight in recent MULTIEXPR_SUBLINK fix.

Commits 3f7323cbb et al missed the possibility that the Params
they are looking for could be buried under implicit coercions,
as well as other stuff that processIndirection() could add to
the original targetlist entry.  Copy the code in ruleutils.c
that deals with such cases.  (I thought about refactoring so
that there's just one copy; but seeing that we only need this
in old back branches, it seems not worth the trouble.)

Per off-list report from Andre Lin.  As before, only v10-v13
need the patch.

Discussion: https://postgr.es/m/17596-c5357f61427a81dc@postgresql.org
src/backend/optimizer/plan/subselect.c
src/test/regress/expected/inherit.out
src/test/regress/sql/inherit.sql