X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=ztest%2Fztest.c;h=7ea27de0770fae882932bb655c917c80a62468fc;hp=a021b649f02ee1f849080830677da475def93f32;hb=bf6876570c2eeade25f5ed23052d0e94244d568c;hpb=eb14cf14b5b176a8e2b73ca251d625e47223f116 diff --git a/ztest/ztest.c b/ztest/ztest.c index a021b64..7ea27de 100644 --- a/ztest/ztest.c +++ b/ztest/ztest.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2002, Index Data. + * Copyright (c) 1995-2004, Index Data. * See the file LICENSE for details. * - * $Id: ztest.c,v 1.52 2002-03-18 21:33:48 adam Exp $ + * $Id: ztest.c,v 1.63 2004-03-29 15:09:14 adam Exp $ */ /* @@ -13,12 +13,9 @@ #include #include +#include #include -#include - -#if YAZ_MODULE_ill #include -#endif Z_GenericRecord *dummy_grs_record (int num, ODR o); char *dummy_marc_record (int num, ODR odr); @@ -37,7 +34,16 @@ int ztest_search (void *handle, bend_search_rr *rr) rr->errcode = 23; return 0; } - if (strcmp (rr->basenames[0], "Default")) +#if NMEM_DEBUG + /* if database is stop, stop this process.. For debugging only. */ + if (!yaz_matchstr (rr->basenames[0], "stop")) + { + nmem_print_list_l(LOG_LOG); + exit(0); + } +#endif + /* Throw Database unavailable if other than Default */ + if (yaz_matchstr (rr->basenames[0], "Default")) { rr->errcode = 109; rr->errstring = rr->basenames[0]; @@ -99,7 +105,6 @@ int ztest_esrequest (void *handle, bend_esrequest_rr *rr) yaz_log(LOG_LOG, "setId: %s", n->resultSetItem->resultSetId); yaz_log(LOG_LOG, "item: %d", *n->resultSetItem->item); } -#if YAZ_MODULE_ill if (n->itemRequest) { Z_External *r = (Z_External*) n->itemRequest; @@ -177,7 +182,6 @@ int ztest_esrequest (void *handle, bend_esrequest_rr *rr) *item_req->protocol_version_num); } } -#endif if (k) { @@ -391,6 +395,10 @@ int ztest_esrequest (void *handle, bend_esrequest_rr *rr) } } } + else if (rr->esr->taskSpecificParameters->which == Z_External_update0) + { + yaz_log(LOG_LOG, "Received DB Update (version 0)"); + } else { yaz_log (LOG_WARN, "Unknown Extended Service(%d)", @@ -429,7 +437,7 @@ int ztest_present (void *handle, bend_present_rr *rr) int ztest_fetch(void *handle, bend_fetch_rr *r) { char *cp; - r->errstring = 0; + r->last_in_set = 0; r->basename = "Default"; r->output_format = r->request_format; @@ -601,9 +609,24 @@ int ztest_scan(void *handle, bend_scan_rr *q) return 0; } +static int ztest_explain(void *handle, bend_explain_rr *rr) +{ + if (rr->database && !strcmp(rr->database, "Default")) + { + rr->explain_buf = "\n" + "\t\n" + "\t\tlocalhost\n" + "\t\t210\n" + "\t\n" + "\n"; + } + return 0; +} + bend_initresult *bend_init(bend_initrequest *q) { - bend_initresult *r = (bend_initresult *) odr_malloc (q->stream, sizeof(*r)); + bend_initresult *r = (bend_initresult *) + odr_malloc (q->stream, sizeof(*r)); int *counter = (int *) xmalloc (sizeof(int)); *counter = 0; @@ -617,6 +640,8 @@ bend_initresult *bend_init(bend_initrequest *q) q->bend_delete = ztest_delete; q->bend_fetch = ztest_fetch; q->bend_scan = ztest_scan; + q->bend_explain = ztest_explain; + return r; }