aboutsummaryrefslogtreecommitdiff
path: root/contrib/btree_gist/btree_gist.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-01-15 11:28:39 +0100
committerPeter Eisentraut <peter@eisentraut.org>2025-01-15 11:34:04 +0100
commit630f9a43cece93cb4a5c243b30e34abce6a89514 (patch)
treeef3a4a65f971bd526919b0ee67fad92bb4590ef9 /contrib/btree_gist/btree_gist.c
parent6339f6468e8217f556e38482626250dc72d7cd00 (diff)
downloadpostgresql-630f9a43cece93cb4a5c243b30e34abce6a89514.tar.gz
postgresql-630f9a43cece93cb4a5c243b30e34abce6a89514.zip
Change gist stratnum function to use CompareType
This changes commit 7406ab623fe in that the gist strategy number mapping support function is changed to use the CompareType enum as input, instead of the "well-known" RT*StrategyNumber strategy numbers. This is a bit cleaner, since you are not dealing with two sets of strategy numbers. Also, this will enable us to subsume this system into a more general system of using CompareType to define operator semantics across index methods. Discussion: https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com
Diffstat (limited to 'contrib/btree_gist/btree_gist.c')
-rw-r--r--contrib/btree_gist/btree_gist.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/contrib/btree_gist/btree_gist.c b/contrib/btree_gist/btree_gist.c
index 5fd4cce27d0..fc6c7091795 100644
--- a/contrib/btree_gist/btree_gist.c
+++ b/contrib/btree_gist/btree_gist.c
@@ -4,6 +4,7 @@
#include "postgres.h"
#include "access/stratnum.h"
+#include "nodes/primnodes.h"
#include "utils/builtins.h"
PG_MODULE_MAGIC;
@@ -60,19 +61,19 @@ gbt_decompress(PG_FUNCTION_ARGS)
Datum
gist_stratnum_btree(PG_FUNCTION_ARGS)
{
- StrategyNumber strat = PG_GETARG_UINT16(0);
+ CompareType cmptype = PG_GETARG_INT32(0);
- switch (strat)
+ switch (cmptype)
{
- case RTEqualStrategyNumber:
+ case COMPARE_EQ:
PG_RETURN_UINT16(BTEqualStrategyNumber);
- case RTLessStrategyNumber:
+ case COMPARE_LT:
PG_RETURN_UINT16(BTLessStrategyNumber);
- case RTLessEqualStrategyNumber:
+ case COMPARE_LE:
PG_RETURN_UINT16(BTLessEqualStrategyNumber);
- case RTGreaterStrategyNumber:
+ case COMPARE_GT:
PG_RETURN_UINT16(BTGreaterStrategyNumber);
- case RTGreaterEqualStrategyNumber:
+ case COMPARE_GE:
PG_RETURN_UINT16(BTGreaterEqualStrategyNumber);
default:
PG_RETURN_UINT16(InvalidStrategy);