Integrate GistTranslateCompareType() into IndexAmTranslateCompareType()
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 3 Feb 2025 07:14:27 +0000 (08:14 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 3 Feb 2025 09:53:18 +0000 (10:53 +0100)
commit622f678c10202c8a0b350794d504eeef7b773e90
tree7ff9730b065921fa91afe7f3c79243ccf5d478bc
parent43a15eb9400dba2b0b97be72d1a3745a6a6f7136
Integrate GistTranslateCompareType() into IndexAmTranslateCompareType()

This turns GistTranslateCompareType() into a callback function of the
gist index AM instead of a standalone function.  The existing callers
are changed to use IndexAmTranslateCompareType().  This then makes
that code not hardcoded toward gist.

This means in particular that the temporal keys code is now
independent of gist.  Also, this generalizes commit 74edabce7a3, so
other index access methods other than the previously hardcoded ones
could now work as REPLICA IDENTITY in a logical replication
subscriber.

Author: Mark Dilger <mark.dilger@enterprisedb.com>
Co-authored-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com
src/backend/access/gist/gist.c
src/backend/access/gist/gistutil.c
src/backend/commands/indexcmds.c
src/backend/commands/tablecmds.c
src/backend/executor/execReplication.c
src/backend/replication/logical/relation.c
src/include/access/gist.h
src/include/executor/executor.h