int lslb, ssub, mspn;
const char *syntax;
const char *schema;
- Z_APDU *apdu = zget_APDU(c->odr_out, Z_APDU_searchRequest);
- Z_SearchRequest *search_req = apdu->u.searchRequest;
+ Z_APDU *apdu;
+ Z_SearchRequest *search_req;
const char *elementSetName;
const char *smallSetElementSetName;
const char *mediumSetElementSetName;
assert(c->tasks->which == ZOOM_TASK_SEARCH);
r = c->tasks->u.search.resultset;
+ if (r->live_set)
+ return send_Z3950_present(c);
+
+ apdu = zget_APDU(c->odr_out, Z_APDU_searchRequest);
+ search_req = apdu->u.searchRequest;
yaz_log(c->log_details, "%p ZOOM_connection_send_search set=%p", c, r);
handle_facet_result(c, resultset, sr->additionalSearchInfo);
resultset->size = *sr->resultCount;
+ resultset->live_set = 1;
#if HAVE_LIBMEMCACHED_MEMCACHED_H
if (c->mc_st)
elementSetName = c->tasks->u.search.elementSetName;
schema = c->tasks->u.search.schema;
break;
- case ZOOM_TASK_RETRIEVE:
- resultset = c->tasks->u.retrieve.resultset;
- start = &c->tasks->u.retrieve.start;
- count = &c->tasks->u.retrieve.count;
- syntax = c->tasks->u.retrieve.syntax;
- elementSetName = c->tasks->u.retrieve.elementSetName;
- schema = c->tasks->u.retrieve.schema;
- break;
- default:
return;
}
if (sr && sr->which == Z_Records_NSD)
elementSetName = c->tasks->u.search.elementSetName;
schema = c->tasks->u.search.schema;
break;
- case ZOOM_TASK_RETRIEVE:
- resultset = c->tasks->u.retrieve.resultset;
- start = &c->tasks->u.retrieve.start;
- count = &c->tasks->u.retrieve.count;
- syntax = c->tasks->u.retrieve.syntax;
- elementSetName = c->tasks->u.retrieve.elementSetName;
- schema = c->tasks->u.retrieve.schema;
- break;
default:
return zoom_complete;
}