X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=df9b589d9b34a3267668b18adf57f03ef3cc8624;hb=b73d0e1d02e31746446a5f09f0fc830255c7243e;hp=cfa6587a2a05bebbb7463b96dba8b2aa57f99a70;hpb=1e869b75dd665a3ac79648269e1416bf7e04dcdd;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index cfa6587..df9b589 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.2.1 2004-08-13 09:56:29 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,9 +641,11 @@ 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) { + yaz_log(LOG_WARN, "zebra_insert_record failed r=%d", r); rr->errcode = 224; rr->errstring = "insert_record failed"; } @@ -653,8 +663,10 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) 1); if (r) { + yaz_log(LOG_WARN, "zebra_update_record failed r=%d", r); rr->errcode = 224; - rr->errstring = "update_record failed"; + rr->errstring = + "update_record failed"; } break; case 3: @@ -669,6 +681,7 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) 0); if (r) { + yaz_log(LOG_WARN, "zebra_delete_record failed r=%d", r); rr->errcode = 224; rr->errstring = "delete_record failed"; } @@ -695,7 +708,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);