X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=index%2Fzsets.c;h=74a47337035dd0effef994937e8e19dbadf739d5;hb=538b41355b5607b4bd09c9c98682694fd6628940;hp=9b045d4dd0df81cd27d2ed8ea9b4b0ba68f45d17;hpb=0f563f23506dabd7c84bdb750d4539b2b6cacf02;p=idzebra-moved-to-github.git diff --git a/index/zsets.c b/index/zsets.c index 9b045d4..74a4733 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -1,4 +1,4 @@ -/* $Id: zsets.c,v 1.116 2007-01-16 15:01:15 adam Exp $ +/* $Id: zsets.c,v 1.118 2007-01-17 13:22:53 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -146,11 +146,10 @@ static ZEBRA_RES resultSetSearch(ZebraHandle zh, NMEM nmem, NMEM rset_nmem, } -ZEBRA_RES resultSetAddRPN (ZebraHandle zh, NMEM m, Z_RPNQuery *rpn, - int num_bases, char **basenames, - const char *setname, - zint *hits, int *estimated_hit_count, - int *partial_resultset) +ZEBRA_RES resultSetAddRPN(ZebraHandle zh, NMEM m, Z_RPNQuery *rpn, + int num_bases, char **basenames, + const char *setname, + zint *hits, int *estimated_hit_count) { ZebraSet zebraSet; int i; @@ -158,7 +157,6 @@ ZEBRA_RES resultSetAddRPN (ZebraHandle zh, NMEM m, Z_RPNQuery *rpn, *hits = 0; *estimated_hit_count = 0; - *partial_resultset = 0; zebraSet = resultSetAdd(zh, setname, 1); if (!zebraSet) @@ -1030,6 +1028,15 @@ ZEBRA_RES resultSetRank(ZebraHandle zh, ZebraSet zebraSet, key_logdump_txt(log_level_searchhits, &key, termid->name); if (this_sys != psysno) { /* new record .. */ + if (zh->busy_handler_func) + { + if (zh->busy_handler_func(zh->busy_handler_data)) + { + yaz_log(YLOG_LOG, "Session end. Stop search"); + zebraSet->estimated_hit_count = 1; + break; + } + } if (rfd->counted_items > rset->hits_limit) { zebraSet->estimated_hit_count = 1;