From 6059368fdd11d7671beb904d6a4c6c98871e489c Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 19 May 2003 21:37:38 +0000 Subject: [PATCH] New test --- test/api/Makefile.am | 3 +- test/api/t3.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 test/api/t3.c diff --git a/test/api/Makefile.am b/test/api/Makefile.am index 26c756d..1fa9b0a 100644 --- a/test/api/Makefile.am +++ b/test/api/Makefile.am @@ -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 index 0000000..771b95c --- /dev/null +++ b/test/api/t3.c @@ -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 +#include + +int main(int argc, char **argv) +{ + int i; + ZebraService zs; + ZebraHandle zh; + const char *myrec = + "\n" + " My title\n" + "\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); +} -- 1.7.10.4