Handle mixed returnable and non-returnable columns better in IOS.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Jan 2022 21:12:11 +0000 (16:12 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Jan 2022 21:12:11 +0000 (16:12 -0500)
commit8a2e323f208557acbfdc911516e84ec017f5a6ca
tree4c10dcd4d9d3f8a0d3528bd8125a1a104f0c17d2
parent9a3ddeb519e8d91b670fa923619b212a9670389c
Handle mixed returnable and non-returnable columns better in IOS.

We can revert the code changes of commit b5febc1d1 now, because
commit 9a3ddeb51 installed a real solution for the difficulty
that b5febc1d1 just dodged, namely that the planner might pick
the wrong one of several index columns nominally containing the
same value.  It only matters which one we pick if we pick one
that's not returnable, and that mistake is now foreclosed.

Although both of the aforementioned commits were back-patched,
I don't feel a need to take any risk by back-patching this one.
The cases that it improves are very corner-ish.

Discussion: https://postgr.es/m/3179992.1641150853@sss.pgh.pa.us
contrib/btree_gist/expected/inet.out
contrib/btree_gist/sql/inet.sql
src/backend/optimizer/path/indxpath.c