projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Select database before commit takes place to ensure register is selected
[idzebra-moved-to-github.git]
/
index
/
zserver.c
diff --git
a/index/zserver.c
b/index/zserver.c
index
b0f2be7
..
c6dad72
100644
(file)
--- a/
index/zserver.c
+++ b/
index/zserver.c
@@
-1,4
+1,4
@@
-/* $Id: zserver.c,v 1.113 2004-01-22 11:27:21 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
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
@@
-79,6
+79,7
@@
bend_initresult *bend_init (bend_initrequest *q)
r->errcode = 1;
return r;
}
r->errcode = 1;
return r;
}
+ r->handle = zh;
if (q->auth)
{
if (q->auth->which == Z_IdAuthentication_open)
if (q->auth)
{
if (q->auth->which == Z_IdAuthentication_open)
@@
-93,15
+94,20
@@
bend_initresult *bend_init (bend_initrequest *q)
}
xfree (openpass);
}
}
xfree (openpass);
}
+ else if (q->auth->which == Z_IdAuthentication_idPass)
+ {
+ Z_IdPass *idPass = q->auth->u.idPass;
+
+ user = idPass->userId;
+ passwd = idPass->password;
+ }
}
if (zebra_auth (zh, user, passwd))
{
r->errcode = 222;
r->errstring = user;
}
if (zebra_auth (zh, user, passwd))
{
r->errcode = 222;
r->errstring = user;
- zebra_close (zh);
return r;
}
return r;
}
- r->handle = zh;
if (q->charneg_request) /* characater set and langauge negotiation? */
{
char **charsets = 0;
if (q->charneg_request) /* characater set and langauge negotiation? */
{
char **charsets = 0;
@@
-323,6
+329,11
@@
static int bend_scan (void *handle, bend_scan_rr *r)
zebra_result (zh, &r->errcode, &r->errstring);
return 0;
}
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,
r->entries = (struct scan_entry *)
odr_malloc (r->stream, sizeof(*r->entries) * r->num_entries);
zebra_scan (zh, r->stream, r->term,
@@
-372,6
+383,10
@@
int bend_delete (void *handle, bend_delete_rr *rr)
static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r)
{
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:
switch (r->toKeep->which)
{
case Z_ESAdminOriginPartToKeep_reIndex:
@@
-398,6
+413,9
@@
static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r)
break;
case Z_ESAdminOriginPartToKeep_commit:
yaz_log(LOG_LOG, "adm-commit");
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");
break;
case Z_ESAdminOriginPartToKeep_shutdown:
yaz_log(LOG_LOG, "shutdown");
@@
-410,10
+428,6
@@
static int es_admin_request (ZebraHandle zh, Z_AdminEsRequest *r)
default:
yaz_log(LOG_LOG, "unknown admin");
}
default:
yaz_log(LOG_LOG, "unknown admin");
}
- if (r->toKeep->databaseName)
- {
- yaz_log(LOG_LOG, "database %s", r->toKeep->databaseName);
- }
return 0;
}
return 0;
}
@@
-627,7
+641,8
@@
int bend_esrequest (void *handle, bend_esrequest_rr *rr)
0, /* match */
0, /* fname */
rec->u.octet_aligned->buf,
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;
if (r)
{
rr->errcode = 224;
@@
-689,7
+704,7
@@
static void bend_start (struct statserv_options_block *sob)
{
if (sob->handle)
zebra_stop((ZebraService) sob->handle);
{
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);
if (!sob->handle)
{
yaz_log (LOG_FATAL, "Failed to read config `%s'", sob->configname);