}
else if (!rc_prep_connection)
{
- session_log(se, YLOG_LOG, "%s: postponing search: No connection",
- client_get_id(cl));
- client_set_state_nb(cl, Client_Working);
+ client_set_diagnostic(cl, 2,
+ ZOOM_diag_str(2),
+ "Cannot create connection");
+ client_set_state_nb(cl, Client_Error);
return -1;
}
co = client_get_connection(cl);
client_set_connection(cl, 0);
}
+void client_mark_dead(struct client *cl)
+{
+ if (cl->connection)
+ connection_mark_dead(cl->connection);
+}
+
void client_stop(struct client *cl)
{
client_lock(cl);
if (!ccl_map)
return -3;
+ xfree(cl->cqlquery);
+ cl->cqlquery = 0;
+
w_ccl = wrbuf_alloc();
wrbuf_puts(w_ccl, query);
if (apply_limit(cl, facet_limits, w_pqf, ccl_map, service))
{
+ client_set_state(cl, Client_Error);
ccl_qual_rm(&ccl_map);
+
+ wrbuf_destroy(w_ccl);
+ wrbuf_destroy(w_pqf);
+
+ xfree(cl->pquery);
+ cl->pquery = 0;
+
return -2;
}
wrbuf_cstr(w_ccl));
wrbuf_destroy(w_ccl);
wrbuf_destroy(w_pqf);
+
+ xfree(cl->pquery);
+ cl->pquery = 0;
+
return -1;
}
wrbuf_destroy(w_ccl);
}
wrbuf_destroy(w_pqf);
- xfree(cl->cqlquery);
- cl->cqlquery = 0;
-
odr_out = odr_createmem(ODR_ENCODE);
zquery = p_query_rpn(odr_out, cl->pquery);
if (!zquery)
{
-
session_log(se, YLOG_WARN, "Invalid PQF query for Client %s: %s",
client_get_id(cl), cl->pquery);
ret_value = -1;