Fixes for update
[idzebra-moved-to-github.git] / index / zsets.c
index f77258b..2fed59c 100644 (file)
@@ -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; i<num; i++)
        {
-           int j;
            struct zebra_set_term_entry *entry = sset->term_entries;
 
            sr[i].sysno = 0;