X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzsets.c;h=2fed59c28b604d07408592ad8383744c6154ae5c;hb=c8bb72d81cc3496fdfc7143e6fa5216fdb1a60f9;hp=f77258b66475da4bd51227507a7f6dcbc003e769;hpb=77686142af94172d1887190ebd47aeb53f704057;p=idzebra-moved-to-github.git diff --git a/index/zsets.c b/index/zsets.c index f77258b..2fed59c 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zsets.c,v $ - * Revision 1.30 2001-10-15 19:53:43 adam + * Revision 1.32 2002-02-20 17:30:01 adam + * Work on new API. Locking system re-implemented + * + * Revision 1.31 2001/11/19 23:05:22 adam + * Added a few prototypes. + * + * Revision 1.30 2001/10/15 19:53:43 adam * POSIX thread updates. First work on term sets. * * Revision 1.29 2001/01/22 10:42:56 adam @@ -272,6 +278,7 @@ ZebraSet resultSetGet (ZebraHandle zh, const char *name) if (!s->term_entries && !s->rset && s->rpn) { NMEM nmem = nmem_create (); + yaz_log (LOG_LOG, "research %s", name); s->rset = rpn_search (zh, nmem, s->rpn, s->num_bases, s->basenames, s->name, s); @@ -282,9 +289,21 @@ ZebraSet resultSetGet (ZebraHandle zh, const char *name) return NULL; } +void resultSetInvalidate (ZebraHandle zh) +{ + ZebraSet s = zh->sets; + + for (; s; s = s->next) + { + if (s->rset) + rset_delete (s->rset); + s->rset = 0; + } +} + void resultSetDestroy (ZebraHandle zh, int num, char **names,int *statuses) { - ZebraSet *ss = &zh->sets; + ZebraSet * ss = &zh->sets; int i; if (statuses) @@ -345,7 +364,6 @@ ZebraPosSet zebraPosSetCreate (ZebraHandle zh, const char *name, sr = (ZebraPosSet) xmalloc (sizeof(*sr) * num); for (i = 0; iterm_entries; sr[i].sysno = 0;