projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for privately defined extended service, xml update, with
[yaz-moved-to-github.git]
/
src
/
seshigh.c
diff --git
a/src/seshigh.c
b/src/seshigh.c
index
4a02280
..
34510ab
100644
(file)
--- a/
src/seshigh.c
+++ b/
src/seshigh.c
@@
-2,7
+2,7
@@
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: seshigh.c,v 1.54 2005-04-29 19:06:13 adam Exp $
+ * $Id: seshigh.c,v 1.56 2005-05-20 19:29:18 adam Exp $
*/
/**
* \file seshigh.c
*/
/**
* \file seshigh.c
@@
-713,11
+713,7
@@
static void srw_bend_search(association *assoc, request *req,
*http_code = 200;
yaz_log(log_requestdetail, "Got SRW SearchRetrieveRequest");
srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics);
*http_code = 200;
yaz_log(log_requestdetail, "Got SRW SearchRetrieveRequest");
srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics);
- if (srw_req->sort_type != Z_SRW_sort_type_none)
- yaz_add_srw_diagnostic(assoc->encode, &srw_res->diagnostics,
- &srw_res->num_diagnostics,
- YAZ_SRW_SORT_UNSUPP, 0);
- else if (srw_res->num_diagnostics == 0 && assoc->init)
+ if (srw_res->num_diagnostics == 0 && assoc->init)
{
bend_search_rr rr;
rr.setname = "default";
{
bend_search_rr rr;
rr.setname = "default";
@@
-725,6
+721,7
@@
static void srw_bend_search(association *assoc, request *req,
rr.num_bases = 1;
rr.basenames = &srw_req->database;
rr.referenceId = 0;
rr.num_bases = 1;
rr.basenames = &srw_req->database;
rr.referenceId = 0;
+ rr.srw_sortKeys = 0;
rr.query = (Z_Query *) odr_malloc (assoc->decode, sizeof(*rr.query));
rr.query->u.type_1 = 0;
rr.query = (Z_Query *) odr_malloc (assoc->decode, sizeof(*rr.query));
rr.query->u.type_1 = 0;
@@
-794,6
+791,9
@@
static void srw_bend_search(association *assoc, request *req,
rr.decode = assoc->decode;
rr.print = assoc->print;
rr.request = req;
rr.decode = assoc->decode;
rr.print = assoc->print;
rr.request = req;
+ if ( srw_req->sort.sortKeys )
+ rr.srw_sortKeys = odr_strdup(assoc->encode,
+ srw_req->sort.sortKeys );
rr.association = assoc;
rr.fd = 0;
rr.hits = 0;
rr.association = assoc;
rr.fd = 0;
rr.hits = 0;
@@
-1764,7
+1764,7
@@
static Z_APDU *process_initRequest(association *assoc, request *reqb)
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
- version = odr_strdup(assoc->encode, "$Revision: 1.54 $");
+ version = odr_strdup(assoc->encode, "$Revision: 1.56 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,
@@
-2007,6
+2007,7
@@
static Z_APDU *process_searchRequest(association *assoc, request *reqb,
bsrr->association = assoc;
bsrr->referenceId = req->referenceId;
save_referenceId (reqb, bsrr->referenceId);
bsrr->association = assoc;
bsrr->referenceId = req->referenceId;
save_referenceId (reqb, bsrr->referenceId);
+ bsrr->srw_sortKeys = 0;
yaz_log (log_requestdetail, "ResultSet '%s'", req->resultSetName);
if (req->databaseNames)
yaz_log (log_requestdetail, "ResultSet '%s'", req->resultSetName);
if (req->databaseNames)
@@
-2340,6
+2341,9
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd)
for (i = 0; i < req->num_databaseNames; i++)
yaz_log (log_requestdetail, "Database '%s'", req->databaseNames[i]);
}
for (i = 0; i < req->num_databaseNames; i++)
yaz_log (log_requestdetail, "Database '%s'", req->databaseNames[i]);
}
+ bsrr->scanClause = 0;
+ bsrr->errcode = 0;
+ bsrr->errstring = 0;
bsrr->num_bases = req->num_databaseNames;
bsrr->basenames = req->databaseNames;
bsrr->num_entries = *req->numberOfTermsRequested;
bsrr->num_bases = req->num_databaseNames;
bsrr->basenames = req->databaseNames;
bsrr->num_entries = *req->numberOfTermsRequested;