The configuration, fileverboselimit, has a value of 1000. When
[idzebra-moved-to-github.git] / index / zebraapi.c
index a8e8039..7e7bb79 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zebraapi.c,v 1.243 2007-01-16 15:01:15 adam Exp $
+/* $Id: zebraapi.c,v 1.248 2007-02-06 09:34:56 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -143,6 +143,9 @@ ZebraHandle zebra_open(ZebraService zs, Res res)
     zh->m_staticrank = 0;
     zh->m_segment_indexing = 0;
 
+    zh->break_handler_func = 0;
+    zh->break_handler_data = 0;
+
     default_encoding = res_get_def(zh->session_res, "encoding", "ISO-8859-1");
 
     zh->iconv_to_utf8 =
@@ -1015,6 +1018,21 @@ ZEBRA_RES zebra_set_approx_limit(ZebraHandle zh, zint approx_limit)
     return ZEBRA_OK;
 }
 
+void zebra_set_partial_result(ZebraHandle zh)
+{
+    zh->partial_result = 1;
+}
+
+
+ZEBRA_RES zebra_set_break_handler(ZebraHandle zh,
+                                  int (*f)(void *client_data),
+                                  void *client_data)
+{
+    zh->break_handler_func = f;
+    zh->break_handler_data = client_data;
+    return ZEBRA_OK;
+}
+
 ZEBRA_RES zebra_search_RPN_x(ZebraHandle zh, ODR o, Z_RPNQuery *query,
                              const char *setname, zint *hits,
                              int *estimated_hit_count,
@@ -1030,12 +1048,16 @@ ZEBRA_RES zebra_search_RPN_x(ZebraHandle zh, ODR o, Z_RPNQuery *query,
     assert(setname);
     yaz_log(log_level, "zebra_search_rpn");
 
+    zh->partial_result = 0;
+
     if (zebra_begin_read(zh) == ZEBRA_FAIL)
        return ZEBRA_FAIL;
 
     r = resultSetAddRPN(zh, odr_extract_mem(o), query, 
                        zh->num_basenames, zh->basenames, setname,
-                        hits, estimated_hit_count, partial_resultset);
+                        hits, estimated_hit_count);
+
+    *partial_resultset = zh->partial_result;
     zebra_end_read(zh);
     return r;
 }
@@ -1694,7 +1716,7 @@ static void read_res_for_transaction(ZebraHandle zh)
     v = res_get_prefix(zh->res, "openRW", group, "1");
     zh->m_flag_rw = atoi(v);
 
-    v = res_get_prefix(zh->res, "fileVerboseLimit", group, "100000");
+    v = res_get_prefix(zh->res, "fileVerboseLimit", group, "1000");
     zh->m_file_verbose_limit = atoi(v);
 }
 
@@ -1753,6 +1775,7 @@ ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw)
         zh->records_updated = 0;
         zh->records_deleted = 0;
         zh->records_processed = 0;
+        zh->records_skipped = 0;
         
 #if HAVE_SYS_TIMES_H
         times (&zh->tms1);