- a->u.searchRequest->smallSetUpperBound = &ssub;
- a->u.searchRequest->largeSetLowerBound = &lslb;
- a->u.searchRequest->mediumSetPresentNumber = &mspn;
- }
- a->u.searchRequest->databaseNames = databaselist;
- a->u.searchRequest->num_databaseNames = ndb;
-
-
- { //scope for sending and logging queries
- WRBUF wbquery = wrbuf_alloc();
- yaz_query_to_wrbuf(wbquery, a->u.searchRequest->query);
-
-
- if (send_apdu(cl, a) >= 0)
- {
- client_set_state(cl, Client_Searching);
- client_set_requestid(cl, se->requestid);
- yaz_log(YLOG_LOG, "SearchRequest %s %s %s",
- client_get_database(cl)->database->url,
- queryenc ? queryenc : "UTF-8",
- wrbuf_cstr(wbquery));
- }
- else {
- client_set_state(cl, Client_Error);
- yaz_log(YLOG_WARN, "Failed SearchRequest %s %s %s",
- client_get_database(cl)->database->url,
- queryenc ? queryenc : "UTF-8",
- wrbuf_cstr(wbquery));
- }
-
- wrbuf_destroy(wbquery);
- }
-
- odr_reset(global_parameters.odr_out);
-}
-
-void client_init_response(struct client *cl, Z_APDU *a)
-{
- Z_InitResponse *r = a->u.initResponse;
-
- yaz_log(YLOG_DEBUG, "Init response %s", cl->database->database->url);
-
- if (*r->result)
- cl->state = Client_Continue;
- else
- cl->state = Client_Failed; // FIXME need to do something to the connection
-}
-
-
-static void ingest_raw_records(struct client *cl, Z_Records *r)
-{
- Z_NamePlusRecordList *rlist;
- Z_NamePlusRecord *npr;
- xmlDoc *doc;
- xmlChar *buf_out;
- int len_out;
- if (r->which != Z_Records_DBOSD)
- {
- client_show_raw_error(cl, "non-surrogate diagnostics");
- return;
- }
-
- rlist = r->u.databaseOrSurDiagnostics;
- if (rlist->num_records != 1 || !rlist->records || !rlist->records[0])
- {
- client_show_raw_error(cl, "no records");
- return;