Use UTF-8 char in search
[idzebra-moved-to-github.git] / test / api / t4.c
index 9ab82e9..db76d62 100644 (file)
@@ -1,5 +1,5 @@
-/* $Id: t4.c,v 1.1 2003-06-18 11:46:34 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
+/* $Id: t4.c,v 1.13 2004-12-02 11:28:20 adam Exp $
+   Copyright (C) 2003,2004
    Index Data Aps
 
 This file is part of the Zebra server.
@@ -20,79 +20,68 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA.
 */
 
-#include <yaz/log.h>
-#include <yaz/pquery.h>
-#include <zebraapi.h>
+/* t4 - insert a small pile of records, search and fetch them */
 
+#include "testlib.h"
+
+const char *myrec[] = {
+        "<gils>\n"
+        "  <title>My title</title>\n"
+        "</gils>\n",
+        0};
+       
 int main(int argc, char **argv)
 {
     int i;
-    ZebraService zs;
-    ZebraHandle zh;
-    const char *myrec =
-        "<gils>\n"
-        "  <title>My title</title>\n"
-        "</gils>\n";
+    ZebraService zs = start_up(0, argc, argv);
+    ZebraHandle zh = zebra_open(zs);
 
-    yaz_log_init_file("t3.log");
-
-    nmem_init ();
-    
-    zs = zebra_start("t2.cfg");
-    zh = zebra_open (zs);
-    zebra_select_database(zh, "Default");
+    init_data(zh, myrec);
 
     zebra_begin_trans (zh, 1);
     for (i = 0; i<1200; i++)
-       zebra_record_insert (zh, myrec, strlen(myrec));
-    zebra_end_trans (zh);
+       zebra_add_record(zh, myrec[0], strlen(myrec[0]));
+    zebra_end_trans(zh);
     zebra_close(zh);
     zebra_stop(zs);
 
-    zs = zebra_start("t2.cfg");
-    zh = zebra_open (zs);
+    zs = start_service("");
+    zh = zebra_open(zs);
     zebra_select_database(zh, "Default");
 
-    for (i = 0; i<4; i++)
+    for (i = 0; i<2; i++)
     {
         ZebraRetrievalRecord retrievalRecord[1001];
         char setname[20];
         int j;
-        ODR odr_input = odr_createmem (ODR_DECODE);    
-        ODR odr_output = odr_createmem (ODR_DECODE);    
+        ODR odr_input = odr_createmem(ODR_DECODE);    
+        ODR odr_output = odr_createmem(ODR_DECODE);    
         YAZ_PQF_Parser parser = yaz_pqf_create();
         Z_RPNQuery *query = yaz_pqf_parse(parser, odr_input, 
                                           "@attr 1=4 my");
         int hits;
         
         sprintf(setname, "s%d", i+1);
-        zebra_search_RPN (zh, odr_input, query, setname, &hits);
-
-       printf ("hits=%d\n", hits);
+        zebra_search_RPN(zh, odr_input, query, setname, &hits);
 
         yaz_pqf_destroy(parser);
 
-        odr_destroy (odr_input);
+        odr_destroy(odr_input);
 
-        zebra_begin_trans (zh, 1);
+        zebra_begin_trans(zh, 1);
 
        for (j = 0; j<1001; j++)
            retrievalRecord[j].position = j+1;
 
-        zebra_records_retrieve (zh, odr_output, setname, 0,
-                                VAL_TEXT_XML, 1001, retrievalRecord);
+        zebra_records_retrieve(zh, odr_output, setname, 0,
+                              VAL_TEXT_XML, 1001, retrievalRecord);
+       
 
+        odr_destroy(odr_output);
 
-        odr_destroy (odr_output);
-
-        zebra_end_trans (zh);
+        zebra_end_trans(zh);
 
     }
-    zebra_commit (zh);
-    zebra_close (zh);
-    zebra_stop (zs);
-
-    nmem_exit ();
-    xmalloc_trav ("x");
-    exit (0);
+    zebra_commit(zh);
+    return close_down(zh, zs, 0);
 }