X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fzoom-sru.c;h=fd0c2bcc8be0df3d3bb4bc373f195479d6ffc408;hp=bca188928da262aaa0a802f953653ae5621e0916;hb=192c53b56174fa2d80db61029ba95bfa2a1a480a;hpb=9c32d63a1113f58ceb168e8321f1e360b2006e3b diff --git a/src/zoom-sru.c b/src/zoom-sru.c index bca1889..fd0c2bc 100644 --- a/src/zoom-sru.c +++ b/src/zoom-sru.c @@ -145,7 +145,6 @@ zoom_ret ZOOM_connection_srw_send_scan(ZOOM_connection c) #if YAZ_HAVE_XML2 zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c) { - const char *facets = 0; int i; int *start, *count; ZOOM_resultset resultset = 0; @@ -162,14 +161,17 @@ zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c) return zoom_complete; resultset = c->tasks->u.search.resultset; + + ZOOM_memcached_search(c, resultset); + if (!resultset->setname) - resultset->setname = xstrdup("default"); + resultset->setname = odr_strdup(resultset->odr, "default"); ZOOM_options_set(resultset->options, "setname", resultset->setname); start = &c->tasks->u.search.start; count = &c->tasks->u.search.count; - facets = ZOOM_options_get(resultset->options, "facets"); - if (facets) - facet_list = yaz_pqf_parse_facet_list(c->odr_out, facets); + if (resultset->req_facets) + facet_list = yaz_pqf_parse_facet_list(c->odr_out, + resultset->req_facets); schema = c->tasks->u.search.schema; if (resultset->live_set) @@ -188,11 +190,6 @@ zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c) schema); if (!rec) break; - else - { - ZOOM_Event event = ZOOM_Event_create(ZOOM_EVENT_RECV_RECORD); - ZOOM_connection_put_event(c, event); - } } *start += i; *count -= i; @@ -298,23 +295,7 @@ static zoom_ret handle_srw_response(ZOOM_connection c, if (res->numberOfRecords) { resultset->size = *res->numberOfRecords; -#if HAVE_LIBMEMCACHED_MEMCACHED_H - if (c->mc_st && resultset->live_set == 0) - { - uint32_t flags = 0; - memcached_return_t rc; - time_t expiration = 36000; - char str[40]; - - sprintf(str, ODR_INT_PRINTF, resultset->size); - rc = memcached_set(c->mc_st, - wrbuf_buf(resultset->mc_key),wrbuf_len(resultset->mc_key), - str, strlen(str), expiration, flags); - yaz_log(YLOG_LOG, "Store SRU hit count key=%s value=%s rc=%u %s", - wrbuf_cstr(resultset->mc_key), str, (unsigned) rc, - memcached_last_error_message(c->mc_st)); - } -#endif + ZOOM_memcached_hitcount(c, resultset); } resultset->live_set = 2; if (res->suggestions)