X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=c6dad729c642e54e38b9eefb7f54e9fb2f68e541;hb=433f7360a01640cfdbe09ce7ae19f3319b348bb3;hp=cfa6587a2a05bebbb7463b96dba8b2aa57f99a70;hpb=1e869b75dd665a3ac79648269e1416bf7e04dcdd;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index cfa6587..c6dad72 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -1,4 +1,4 @@ -/* $Id: zserver.c,v 1.114 2004-03-29 15:48:14 adam Exp $ +/* $Id: zserver.c,v 1.117 2004-08-02 10:12:06 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -329,6 +329,11 @@ static int bend_scan (void *handle, bend_scan_rr *r) zebra_result (zh, &r->errcode, &r->errstring); return 0; } + if (r->step_size != 0 && *r->step_size != 0) { + r->errcode = 205; /* "Only zero step size supported for Scan" */ + r->errstring = 0; + return 0; + } r->entries = (struct scan_entry *) odr_malloc (r->stream, sizeof(*r->entries) * r->num_entries); zebra_scan (zh, r->stream, r->term, @@ -378,6 +383,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: @@ -404,6 +413,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"); @@ -416,10 +428,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; } @@ -633,7 +641,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; @@ -695,7 +704,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);