diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2004-05-31 16:51:56 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2004-05-31 16:51:56 +0000 |
commit | 553bc4163388d660a30d5cb0cacad0e86fb7e449 (patch) | |
tree | 087f5c3a3cb79e7256072b2ff996b1c0a2e8a1dc /contrib/tsearch2/snmap.c | |
parent | 7cb55d21ed8d9f6071eb7835b861d5231cd45e14 (diff) |
1 add namespaces as Tom suggest http://www.pgsql.ru/db/mw/msg.html?mid=1987703
2 remove select qeury in inserts
Diffstat (limited to 'contrib/tsearch2/snmap.c')
-rw-r--r-- | contrib/tsearch2/snmap.c | 9 |
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) |