Make the conditions in IsIndexUsableForReplicaIdentityFull() more explicit
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 10 Dec 2024 12:11:34 +0000 (13:11 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 10 Dec 2024 12:11:34 +0000 (13:11 +0100)
commit13544e790ef8c4fe9043ba59276e5182ce9a623a
tree5192969ff4699c719d0b3f1cc0e1e745c33fe24d
parenta2a475b011cf7c25f5a09574def35b335af844ac
Make the conditions in IsIndexUsableForReplicaIdentityFull() more explicit

IsIndexUsableForReplicaIdentityFull() described a number of conditions
that a suitable index has to fulfill.  But not all of these were
actually checked in the code.  Instead, it appeared to rely on
get_equal_strategy_number() to filter out any indexes that are not
btree or hash.  As we look to generalize index AM capabilities, this
would possibly break if we added additional support in
get_equal_strategy_number().  Instead, write out code to check for the
required capabilities explicitly.  This shouldn't change any behaviors
at the moment.

Reviewed-by: Paul Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: vignesh C <vignesh21@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com
src/backend/replication/logical/relation.c