X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frpnsearch.c;h=f5815122e125ca0d20bf124bb5b47239e385bea4;hb=e1352999e1be86b0ce5c2698bb62f9fc7d598a4f;hp=425cef8ec3a601713c5a517701a55d312a70ec90;hpb=ec1a1d838f713f8a12616e567de3bcff8daf0e60;p=idzebra-moved-to-github.git diff --git a/index/rpnsearch.c b/index/rpnsearch.c index 425cef8..f581512 100644 --- a/index/rpnsearch.c +++ b/index/rpnsearch.c @@ -1,5 +1,5 @@ -/* $Id: rpnsearch.c,v 1.5 2006-12-20 14:29:04 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: rpnsearch.c,v 1.7 2007-01-16 15:31:23 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -1183,7 +1183,9 @@ static ZEBRA_RES string_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt, grep_info, &max_pos, ord_len /* number of "exact" chars */, grep_handle); - if (r) + if (r == 1) + zebra_set_partial_result(zh); + else if (r) yaz_log(YLOG_WARN, "dict_lookup_grep fail %d", r); } if (!bases_ok) @@ -1699,7 +1701,10 @@ static int numeric_relation(ZebraHandle zh, Z_AttributesPlusTerm *zapt, yaz_log(log_level_rpn, "dict_lookup_grep: %s", term_tmp); r = dict_lookup_grep(zh->reg->dict, term_dict, 0, grep_info, max_pos, 0, grep_handle); - if (r != 0 && r != 1) + + if (r == 1) + zebra_set_partial_result(zh); + else if (r) yaz_log(YLOG_WARN, "dict_lookup_grep fail, rel = gt: %d", r); yaz_log(log_level_rpn, "%d positions", grep_info->isam_p_indx); return 1;