"Client_Disconnected"
};
-static struct client *client_freelist = 0;
+static struct client *client_freelist = 0; /* thread pr */
const char *client_get_state_str(struct client *cl)
{
const char *opt_requestsyn = session_setting_oneval(sdb, PZ_REQUESTSYNTAX);
const char *opt_maxrecs = session_setting_oneval(sdb, PZ_MAXRECS);
const char *opt_sru = session_setting_oneval(sdb, PZ_SRU);
+ const char *opt_sort = session_setting_oneval(sdb, PZ_SORT);
assert(link);
ZOOM_query q = ZOOM_query_create();
yaz_log(YLOG_LOG, "Search %s CQL: %s", sdb->database->url, cl->cqlquery);
ZOOM_query_cql(q, cl->cqlquery);
+ if (*opt_sort)
+ ZOOM_query_sortby(q, opt_sort);
rs = ZOOM_connection_search(link, q);
ZOOM_query_destroy(q);
}
char *r;
WRBUF wrb = wrbuf_alloc();
int status;
+ ODR odr_out = odr_createmem(ODR_ENCODE);
- zquery = p_query_rpn(global_parameters.odr_out, cl->pquery);
+ zquery = p_query_rpn(odr_out, cl->pquery);
if ((status = cql_transform_rpn2cql_wrbuf(cqlt, wrb, zquery)))
{
yaz_log(YLOG_WARN, "failed to generate CQL query, code=%d", status);
- return 0;
+ r = 0;
}
- r = xstrdup(wrbuf_cstr(wrb));
-
+ else
+ {
+ r = xstrdup(wrbuf_cstr(wrb));
+ }
wrbuf_destroy(wrb);
- odr_reset(global_parameters.odr_out); // releases the zquery
+ odr_destroy(odr_out);
cql_transform_close(cqlt);
return r;
}