yaz_log(log_details0, "%p ZOOM_resultset_create", r);
r->refcount = 1;
r->size = 0;
- r->odr = odr_createmem(ODR_ENCODE);
+ r->odr = odr_createmem(ODR_DECODE);
r->piggyback = 1;
r->setname = 0;
r->step = 0;
#if HAVE_LIBMEMCACHED_MEMCACHED_H
r->mc_key = wrbuf_alloc();
+ wrbuf_puts(r->mc_key, "0;");
wrbuf_puts(r->mc_key, c->host_port);
wrbuf_puts(r->mc_key, ";");
- wrbuf_puts(r->mc_key, ZOOM_query_get_query_string(q));
+ if (c->user)
+ wrbuf_puts(r->mc_key, c->user);
+ wrbuf_puts(r->mc_key, ";");
+ if (c->group)
+ wrbuf_puts(r->mc_key, c->group);
+ wrbuf_puts(r->mc_key, ";");
+ if (c->password)
+ wrbuf_sha1_puts(r->mc_key, c->password, 1);
+ wrbuf_puts(r->mc_key, ";");
+ wrbuf_sha1_puts(r->mc_key, ZOOM_query_get_query_string(q), 1);
+ wrbuf_puts(r->mc_key, ";");
+ /* TODO: add sorting */
if (c->mc_st)
{
size_t v_len;
wrbuf_destroy(w);
event = ZOOM_Event_create(ZOOM_EVENT_RECV_SEARCH);
ZOOM_connection_put_event(c, event);
+ r->live_set = 1;
return r;
}
else
task->u.search.resultset = r;
task->u.search.start = start;
task->u.search.count = count;
- task->u.search.recv_search_fired = 0;
syntax = ZOOM_options_get(r->options, "preferredRecordSyntax");
task->u.search.syntax = syntax ? xstrdup(syntax) : 0;
if (c->proto == PROTO_HTTP)
ret = ZOOM_connection_srw_send_search(c);
else
- ret = ZOOM_connection_Z3950_send_search(c);
+ ret = ZOOM_connection_Z3950_present(c);
break;
case ZOOM_TASK_CONNECT:
ret = do_connect(c);