Here are my comments for v4.
======
Docs/Comments:
All the docs and updated comments LTGM, except I felt one sentence
might be written differently to avoid nested parentheses.
BEFORE
...used for REPLICA IDENTITY FULL table (see
FindUsableIndexForReplicaIdentityFull() for details).
AFTER
...used for REPLICA IDENTITY FULL table. See
FindUsableIndexForReplicaIdentityFull() for details.
====
Logic:
What was the decision about the earlier question [1] of
removing/merging the function IsIndexOnlyOnExpression()?
------
[1] https://www.postgresql.org/message-id/CAHut%2BPuGhGHp9Uq8-Wk7uBiirAHF5quDY_1Z6WDoUKRZqkn%2Brg%40mail.gmail.com
Kind Regards,
Peter Smith.
Fujitsu Australia