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
Added the scope parameter to rsets, and using it in all forwards and reads
[idzebra-moved-to-github.git]
/
index
/
zserver.c
diff --git
a/index/zserver.c
b/index/zserver.c
index
3ba03d9
..
996c31e
100644
(file)
--- 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.122 2004-08-25 09:28:01 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
@@
-170,15
+170,16
@@
bend_initresult *bend_init (bend_initrequest *q)
static void search_terms (ZebraHandle zh, bend_search_rr *r)
{
static void search_terms (ZebraHandle zh, bend_search_rr *r)
{
- int count;
+ zint count = 0;
int no_terms;
int i;
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 */
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;
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);
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);
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,
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]->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;
}
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)
{
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:
@@
-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");
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");
@@
-421,10
+433,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;
}
@@
-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;
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)
{
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,
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;
@@
-700,7
+709,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);