diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2025-02-03 08:14:27 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2025-02-03 10:53:18 +0100 |
commit | 622f678c10202c8a0b350794d504eeef7b773e90 (patch) | |
tree | 7ff9730b065921fa91afe7f3c79243ccf5d478bc /src/backend/access/gist/gistutil.c | |
parent | 43a15eb9400dba2b0b97be72d1a3745a6a6f7136 (diff) | |
download | postgresql-622f678c10202c8a0b350794d504eeef7b773e90.tar.gz postgresql-622f678c10202c8a0b350794d504eeef7b773e90.zip |
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
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
-rw-r--r-- | src/backend/access/gist/gistutil.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c index 4d3b6dfa32b..dbc4ac639a2 100644 --- a/src/backend/access/gist/gistutil.c +++ b/src/backend/access/gist/gistutil.c @@ -1095,17 +1095,11 @@ gist_stratnum_common(PG_FUNCTION_ARGS) * Returns InvalidStrategy if the function is not defined. */ StrategyNumber -GistTranslateCompareType(Oid opclass, CompareType cmptype) +gisttranslatecmptype(CompareType cmptype, Oid opfamily, Oid opcintype) { - Oid opfamily; - Oid opcintype; Oid funcid; Datum result; - /* Look up the opclass family and input datatype. */ - if (!get_opclass_opfamily_and_input_type(opclass, &opfamily, &opcintype)) - return InvalidStrategy; - /* Check whether the function is provided. */ funcid = get_opfamily_proc(opfamily, opcintype, opcintype, GIST_STRATNUM_PROC); if (!OidIsValid(funcid)) |