Re-allow INDEX_VAR as rt_index in ChangeVarNodes().
commitfbf80421ead55deaafbefa808960a2695de492c9
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Jun 2023 17:11:49 +0000 (8 13:11 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Jun 2023 17:11:49 +0000 (8 13:11 -0400)
tree05af1683340c8c565e69a51734a5708e20eadf99
parentd98ed080bb31fd3d46281127871b7886288686d9
Re-allow INDEX_VAR as rt_index in ChangeVarNodes().

Apparently some extensions are in the habit of calling
ChangeVarNodes() with INDEX_VAR as the rt_index to replace.
That worked before 2489d76c4, at least as long as there were
not PlaceHolderVars in the expression; but now it fails
because bms_is_member spits up.  Add a test to avoid that.

Per report from Anton Melnikov, though this is not his
proposed patch.

Discussion: https://postgr.es/m/5b370a46-f6d2-373d-9dbc-0d55250e82c1@inbox.ru
src/backend/rewrite/rewriteManip.c