Re-allow INDEX_VAR as rt_index in ChangeVarNodes().

Tom Lane <tgl@sss.pgh.pa.us>

Commit: fbf80421ead55deaafbefa808960a2695de492c9
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2023-06-08T17:11:49Z
Releases: 16.0
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

Files

PathChange+/−
src/backend/rewrite/rewriteManip.c modified +6 −1

Discussion