From 474ff212e5c2e89a9955cc2355cb96b2fe40398e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 22 Apr 2011 18:22:38 -0400 Subject: [PATCH] De-kludge contrib/btree_gin for collations. Using DEFAULT_COLLATION_OID in the comparePartial functions was not only a lame hack, but outright wrong, because the compare functions for collation-aware types were already responding to the declared index collation. So comparePartial would have the wrong expectation about the index's sort order, possibly leading to missing matches for prefix searches. --- contrib/btree_gin/btree_gin.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/btree_gin/btree_gin.c b/contrib/btree_gin/btree_gin.c index 7ca153e092..5c4f58b8b1 100644 --- a/contrib/btree_gin/btree_gin.c +++ b/contrib/btree_gin/btree_gin.c @@ -7,7 +7,6 @@ #include "fmgr.h" #include "access/skey.h" -#include "catalog/pg_collation.h" #include "utils/builtins.h" #include "utils/bytea.h" #include "utils/cash.h" @@ -123,7 +122,7 @@ gin_compare_prefix_##type(PG_FUNCTION_ARGS) \ \ cmp = DatumGetInt32(DirectFunctionCall2Coll( \ TypeInfo_##type.typecmp, \ - DEFAULT_COLLATION_OID, \ + PG_GET_COLLATION(), \ (data->strategy == BTLessStrategyNumber || \ data->strategy == BTLessEqualStrategyNumber) \ ? data->datum : a, \ -- GitLab