X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzsets.c;h=04cc69ee24a4f53844f3b72f5c2dc78ee1e41db2;hb=2eacaa1e549428b231de5844f397466f6a44c59f;hp=111649d9f565160943fed8e13dfe2e9d580f24cf;hpb=86702aad7008abed6afef80feed08b3e4e1cbcd1;p=idzebra-moved-to-github.git diff --git a/index/zsets.c b/index/zsets.c index 111649d..04cc69e 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -1,4 +1,4 @@ -/* $Id: zsets.c,v 1.119 2007-01-17 15:35:48 adam Exp $ +/* $Id: zsets.c,v 1.123 2007-10-29 16:57:53 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -100,7 +100,6 @@ static ZEBRA_RES resultSetSearch(ZebraHandle zh, NMEM nmem, NMEM rset_nmem, Z_RPNQuery *rpn, ZebraSet sset) { RSET rset = 0; - oident *attrset; Z_SortKeySpecList *sort_sequence; int sort_status, i; ZEBRA_RES res = ZEBRA_OK; @@ -114,11 +113,9 @@ static ZEBRA_RES resultSetSearch(ZebraHandle zh, NMEM nmem, NMEM rset_nmem, for (i = 0; inum_specs; i++) sort_sequence->specs[i] = 0; - attrset = oid_getentbyoid (rpn->attributeSetId); - rpn_get_top_approx_limit(zh, rpn->RPNStructure, &sset->approx_limit); - res = rpn_search_top(zh, rpn->RPNStructure, attrset->value, + res = rpn_search_top(zh, rpn->RPNStructure, rpn->attributeSetId, nmem, rset_nmem, sort_sequence, sset->num_bases, sset->basenames, @@ -545,7 +542,7 @@ struct sortKeyInfo { int relation; int ord; int numerical; - int index_type; + const char *index_type; }; void resultSetInsertSort(ZebraHandle zh, ZebraSet sset, @@ -582,10 +579,10 @@ void resultSetInsertSort(ZebraHandle zh, ZebraSet sset, char this_entry_org[1024]; char other_entry_org[1024]; double diff; - int index_type = criteria[j].index_type; - zebra_term_untrans(zh, index_type, this_entry_org, + const char *index_type = criteria[j].index_type; + zebra_term_untrans(zh, *index_type, this_entry_org, this_entry_buf); - zebra_term_untrans(zh, index_type, other_entry_org, + zebra_term_untrans(zh, *index_type, other_entry_org, other_entry_buf); diff = atof(this_entry_org) - atof(other_entry_org); @@ -888,7 +885,7 @@ ZEBRA_RES resultSetSortSingle(ZebraHandle zh, NMEM nmem, sort_criteria[i].ord = zebraExplain_lookup_attr_str(zh->reg->zei, zinfo_index_category_sort, - -1, sk->u.sortField); + 0, sk->u.sortField); if (sks->which != Z_SortKeySpec_null && sort_criteria[i].ord == -1) { @@ -1207,7 +1204,11 @@ ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname, if (ret == (size_t)(-1)) *termlen = 0; else + { + yaz_iconv(zh->iconv_from_utf8, 0, 0, + &outbuf, &outleft); *termlen = outbuf - termbuf; + } } else { @@ -1272,7 +1273,7 @@ ZEBRA_RES zebra_snippets_hit_vector(ZebraHandle zh, const char *setname, struct ord_list *ol; for (ol = termid->ol; ol; ol = ol->next) { - zebra_snippets_append(snippets, key.mem[key.len-1], + zebra_snippets_append(snippets, key.mem[key.len-1], 0, ol->ord, termid->name); } }