/** \brief Represents client state for a connection to one search target */
struct client {
struct session_database *database;
+ struct conf_server *server;
struct connection *connection;
struct session *session;
char *pquery; // Current search
"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)
{
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;
}
char *p[512];
extract_terms(se->nmem, cn, p);
se->relevance = relevance_create(
- global_parameters.server->relevance_pct,
+ se->service->relevance_pct,
se->nmem, (const char **) p,
se->expected_maxrecs);
}