X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ft16.c;h=59b480740dfbe7d21fa1e8f82855d6c2a48215d5;hb=3731bdaf94aeba2550fc553aebe34831c203dc36;hp=307030245cacd9b340283fbbc6e1dd71617ba61a;hpb=b9c1a6fcf5c4821d0190efdecbc14ea5d6c96aec;p=idzebra-moved-to-github.git diff --git a/test/api/t16.c b/test/api/t16.c index 3070302..59b4807 100644 --- a/test/api/t16.c +++ b/test/api/t16.c @@ -1,5 +1,5 @@ -/* $Id: t16.c,v 1.6 2006-11-23 09:03:51 marc Exp $ - Copyright (C) 1995-2006 +/* $Id: t16.c,v 1.14 2007-11-30 12:19:09 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -30,63 +30,15 @@ const char *myrec[] = { "\n", 0}; -#define NUMBER_TO_FETCH_MAX 1000 - -static ZEBRA_RES fetch_first(ZebraHandle zh, const char *element_set, - oid_value format, ODR odr, - const char **rec_buf, size_t *rec_len) -{ - ZebraRetrievalRecord retrievalRecord[1]; - Z_RecordComposition *comp; - ZEBRA_RES res; - - retrievalRecord[0].position = 1; /* get from this position */ - - yaz_set_esn(&comp, element_set, odr->mem); - - res = zebra_records_retrieve(zh, odr, "default", comp, format, 1, - retrievalRecord); - if (res != ZEBRA_OK) - { - int code = zebra_errCode(zh); - yaz_log(YLOG_FATAL, "zebra_records_retrieve returned error %d", - code); - } - else - { - *rec_buf = retrievalRecord[0].buf; - *rec_len = retrievalRecord[0].len; - } - return res; -} - -static ZEBRA_RES fetch_first_compare(ZebraHandle zh, const char *element_set, - oid_value format, const char *cmp_rec) -{ - const char *rec_buf = 0; - size_t rec_len = 0; - ODR odr = odr_createmem(ODR_ENCODE); - ZEBRA_RES res = fetch_first(zh, element_set, format, odr, - &rec_buf, &rec_len); - if (res == ZEBRA_OK) - { - if (strlen(cmp_rec) != rec_len) - res = ZEBRA_FAIL; - else if (memcmp(cmp_rec, rec_buf, rec_len)) - res = ZEBRA_FAIL; - } - odr_destroy(odr); - return res; -} - - - static void tst(int argc, char **argv) { zint hits; ZEBRA_RES res; const char * zebra_xml_sysno - = "\n"; + = "\n"; + + const char * zebra_xml_meta + = "\n"; const char * zebra_xml_index_title_p = "\n" @@ -98,37 +50,39 @@ static void tst(int argc, char **argv) YAZ_CHECK(tl_init_data(zh, myrec)); - res = zebra_search_PQF(zh, "@attr 1=4 my", "default", &hits); + res = zebra_search_PQF(zh, "@attr 1=4 my", "rsetname", &hits); YAZ_CHECK_EQ(res, ZEBRA_OK); YAZ_CHECK_EQ(hits, 1); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", VAL_TEXT_XML, - "mismatch"), ZEBRA_FAIL); - - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", VAL_SUTRS, - myrec[0]), ZEBRA_OK); - - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", VAL_TEXT_XML, - myrec[0]), ZEBRA_OK); - - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta::sysno", VAL_SUTRS, - "2"), ZEBRA_OK); - - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta::sysno", VAL_TEXT_XML, - zebra_xml_sysno), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_xml, + "mismatch"), ZEBRA_FAIL); + + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_sutrs, + myrec[0]), ZEBRA_OK); + + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_xml, + myrec[0]), ZEBRA_OK); + + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::meta::sysno", + yaz_oid_recsyn_sutrs, + "2"), ZEBRA_OK); + + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::meta::sysno", + yaz_oid_recsyn_xml, + zebra_xml_sysno), ZEBRA_OK); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta", VAL_TEXT_XML, - "definitely not this"), ZEBRA_FAIL); + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::meta", yaz_oid_recsyn_xml, + zebra_xml_meta), ZEBRA_OK); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::index::title:p", - VAL_TEXT_XML, - zebra_xml_index_title_p), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::index::title:p", + yaz_oid_recsyn_xml, + zebra_xml_index_title_p), ZEBRA_OK); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::nonexistent", - VAL_TEXT_XML, ""), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::nonexistent", + yaz_oid_recsyn_xml, ""), ZEBRA_OK); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::index::nonexistent", - VAL_TEXT_XML, ""), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_first_compare(zh, "zebra::index::nonexistent", + yaz_oid_recsyn_xml, ""), ZEBRA_OK); YAZ_CHECK(tl_close_down(zh, zs)); }