New test
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 19 May 2003 21:37:38 +0000 (21:37 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 19 May 2003 21:37:38 +0000 (21:37 +0000)
test/api/Makefile.am
test/api/t3.c [new file with mode: 0644]

index 26c756d..1fa9b0a 100644 (file)
@@ -1,11 +1,12 @@
 
 
-EXTRA_PROGRAMS = t1 t2
+EXTRA_PROGRAMS = t1 t2 t3
 
 EXTRA_DIST=t1.cfg t2.cfg
 
 t1_SOURCES = t1.c
 t2_SOURCES = t2.c
+t3_SOURCES = t3.c
 
 AM_CPPFLAGS = -I$(top_srcdir)/include $(YAZINC)
 
diff --git a/test/api/t3.c b/test/api/t3.c
new file mode 100644 (file)
index 0000000..771b95c
--- /dev/null
@@ -0,0 +1,87 @@
+/* $Id: t3.c,v 1.1 2003-05-19 21:37:38 adam Exp $
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
+   Index Data Aps
+
+This file is part of the Zebra server.
+
+Zebra is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Zebra; see the file LICENSE.zebra.  If not, write to the
+Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
+*/
+
+
+#include <yaz/pquery.h>
+#include <zebraapi.h>
+
+int main(int argc, char **argv)
+{
+    int i;
+    ZebraService zs;
+    ZebraHandle zh;
+    const char *myrec =
+        "<gils>\n"
+        "  <title>My title</title>\n"
+        "</gils>\n";
+    nmem_init ();
+    
+    zs = zebra_start("t2.cfg");
+    zh = zebra_open (zs);
+    zebra_select_database(zh, "Default");
+
+    zebra_begin_trans (zh, 1);
+    zebra_record_insert (zh, myrec, strlen(myrec));
+    zebra_end_trans (zh);
+
+    for (i = 0; i<4; i++)
+    {
+#if 0
+        ZebraRetrievalRecord retrievalRecord;
+#endif
+        char setname[20];
+        char *setnamep = setname;
+        int status;
+        ODR odr_input = odr_createmem (ODR_DECODE);    
+        ODR odr_output = odr_createmem (ODR_ENCODE);    
+        YAZ_PQF_Parser parser = yaz_pqf_create();
+        Z_RPNQuery *query = yaz_pqf_parse(parser, odr_input, 
+                                          "@attr 1=4 my");
+        int hits;
+        zebra_begin_trans (zh, 1);
+        zebra_begin_trans (zh, 0);
+        
+        sprintf(setname, "s%d", i+1);
+        zebra_search_rpn (zh, odr_input, odr_output, query, setname, &hits);
+
+        zebra_end_trans (zh);
+        zebra_end_trans (zh);
+        yaz_pqf_destroy(parser);
+#if 0
+        zebra_records_retrieve (zh, odr_output, setname, 0,
+                                VAL_TEXT_XML, 1, &retrievalRecord);
+#endif
+#if 1
+        zebra_deleleResultSet(zh, Z_DeleteRequest_list,
+                              1, &setnamep, &status);
+#endif
+        odr_destroy (odr_input);
+        odr_destroy (odr_output);
+    }
+    zebra_commit (zh);
+    zebra_close (zh);
+    zebra_stop (zs);
+
+    nmem_exit ();
+    xmalloc_trav ("x");
+    exit (0);
+}