summaryrefslogtreecommitdiff
path: root/contrib/tsearch2/snmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tsearch2/snmap.c')
-rw-r--r--contrib/tsearch2/snmap.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/tsearch2/snmap.c b/contrib/tsearch2/snmap.c
index ec7ef69a79a..d41fb45b0dc 100644
--- a/contrib/tsearch2/snmap.c
+++ b/contrib/tsearch2/snmap.c
@@ -13,7 +13,12 @@
static int
compareSNMapEntry(const void *a, const void *b)
{
- return strcmp(((SNMapEntry *) a)->key, ((SNMapEntry *) b)->key);
+ if ( ((SNMapEntry *) a)->nsp < ((SNMapEntry *) b)->nsp )
+ return -1;
+ else if ( ((SNMapEntry *) a)->nsp > ((SNMapEntry *) b)->nsp )
+ return 1;
+ else
+ return strcmp(((SNMapEntry *) a)->key, ((SNMapEntry *) b)->key);
}
void
@@ -37,6 +42,7 @@ addSNMap(SNMap * map, char *key, Oid value)
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("out of memory")));
+ map->list[map->len].nsp = get_oidnamespace(TSNSP_FunctionOid);
map->list[map->len].value = value;
map->len++;
if (map->len > 1)
@@ -59,6 +65,7 @@ findSNMap(SNMap * map, char *key)
SNMapEntry ks;
ks.key = key;
+ ks.nsp = get_oidnamespace(TSNSP_FunctionOid);
ks.value = 0;
if (map->len == 0 || !map->list)