X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=ztest%2Fztest.c;h=7ea27de0770fae882932bb655c917c80a62468fc;hp=7241d5f6df14819289c96d3eb982d1bce5e238a1;hb=bf6876570c2eeade25f5ed23052d0e94244d568c;hpb=069977745832f79608e732d7f1f433eade791f31 diff --git a/ztest/ztest.c b/ztest/ztest.c index 7241d5f..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.53 2002-07-31 14:06:29 adam Exp $ + * $Id: ztest.c,v 1.63 2004-03-29 15:09:14 adam Exp $ */ /* @@ -13,9 +13,8 @@ #include #include +#include #include -#include - #include Z_GenericRecord *dummy_grs_record (int num, ODR o); @@ -35,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]; @@ -387,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)", @@ -425,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; @@ -597,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; @@ -613,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; }