X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=41527cf4e068a6692e3cdc1f1ee1518aa4c5d4a6;hb=edf40cf79512700f2a60fce30e0cfee4b5c8d890;hp=3ba03d9864710dad21f58d798bbba6a4193c328f;hpb=2be6f2e10474562a997c342b20ea62348199c033;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index 3ba03d9..41527cf 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -1,4 +1,4 @@ -/* $Id: zserver.c,v 1.115 2004-05-05 16:22:18 mike Exp $ +/* $Id: zserver.c,v 1.121 2004-08-25 09:17:33 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -170,15 +170,16 @@ bend_initresult *bend_init (bend_initrequest *q) static void search_terms (ZebraHandle zh, bend_search_rr *r) { - int count; + zint count = 0; int no_terms; int i; - int type; + int type = Z_Term_general struct Z_External *ext; Z_SearchInfoReport *sr; /* get no of terms for result set */ - no_terms = zebra_resultSetTerms (zh, r->setname, 0, 0, 0, 0, 0); + no_terms = 0; /* zebra_resultSetTerms (zh, r->setname, 0, 0, 0, 0, 0); */ + /* FIXME - Rsets don't know number of terms no more ??? */ if (!no_terms) return; @@ -208,9 +209,11 @@ static void search_terms (ZebraHandle zh, bend_search_rr *r) Z_Term *term; char outbuf[1024]; size_t len = sizeof(outbuf); + /* FIXME - Can we just skip this ??? */ + /* zebra_resultSetTerms (zh, r->setname, i, &count, &type, outbuf, &len); - + */ sr->elements[i] = odr_malloc (r->stream, sizeof(**sr->elements)); sr->elements[i]->subqueryId = 0; sr->elements[i]->fullQuery = odr_malloc (r->stream, @@ -246,7 +249,9 @@ static void search_terms (ZebraHandle zh, bend_search_rr *r) sr->elements[i]->subqueryExpression->u.term->termComment = 0; sr->elements[i]->subqueryInterpretation = 0; sr->elements[i]->subqueryRecommendation = 0; - sr->elements[i]->subqueryCount = odr_intdup (r->stream, count); + if (count > 2000000000) + count = 2000000000; + sr->elements[i]->subqueryCount = odr_intdup (r->stream, (int) count); sr->elements[i]->subqueryWeight = 0; sr->elements[i]->resultsByDB = 0; } @@ -383,6 +388,10 @@ int bend_delete (void *handle, bend_delete_rr *rr) static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r) { + if (r->toKeep->databaseName) + { + yaz_log(LOG_LOG, "adm request database %s", r->toKeep->databaseName); + } switch (r->toKeep->which) { case Z_ESAdminOriginPartToKeep_reIndex: @@ -409,6 +418,9 @@ static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r) break; case Z_ESAdminOriginPartToKeep_commit: yaz_log(LOG_LOG, "adm-commit"); + if (r->toKeep->databaseName) + zebra_select_database(zh, r->toKeep->databaseName); + zebra_commit(zh); break; case Z_ESAdminOriginPartToKeep_shutdown: yaz_log(LOG_LOG, "shutdown"); @@ -421,10 +433,6 @@ static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r) default: yaz_log(LOG_LOG, "unknown admin"); } - if (r->toKeep->databaseName) - { - yaz_log(LOG_LOG, "database %s", r->toKeep->databaseName); - } return 0; } @@ -539,7 +547,7 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) Z_External *rec = notToKeep->elements[i]->record; struct oident *oident = 0; Odr_oct *opaque_recid = 0; - int sysno = 0; + SYSNO sysno = 0; if (notToKeep->elements[i]->u.opaque) { @@ -638,7 +646,8 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) 0, /* match */ 0, /* fname */ rec->u.octet_aligned->buf, - rec->u.octet_aligned->len); + rec->u.octet_aligned->len, + 0); if (r) { rr->errcode = 224; @@ -700,7 +709,7 @@ static void bend_start (struct statserv_options_block *sob) { if (sob->handle) zebra_stop((ZebraService) sob->handle); - sob->handle = zebra_start(sob->configname, 0, 0); + sob->handle = zebra_start(sob->configname); if (!sob->handle) { yaz_log (LOG_FATAL, "Failed to read config `%s'", sob->configname);