X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fclient.c;h=31c1745870d1f5e64a637ec35b0302da80dfde23;hb=cc9efe948e97e8f6f785bdd2e37a17ba0cce672d;hp=5db30180f854cb5e81d4a035d91c47606f847314;hpb=cd65f5a5853900e62ff5dd53796606cb9de70906;p=pazpar2-moved-to-github.git diff --git a/src/client.c b/src/client.c index 5db3018..31c1745 100644 --- a/src/client.c +++ b/src/client.c @@ -90,7 +90,7 @@ static int client_use(int delta) return clients; } -int clients_count(void) +int clients_get_count(void) { return client_use(0); } @@ -825,6 +825,7 @@ int client_fetch_more(struct client *cl) const char *str; int extend_recs = 0; int number = cl->hits - cl->record_offset; + struct connection *co = client_get_connection(cl); str = session_setting_oneval(sdb, PZ_EXTENDRECS); if (!str || !*str) @@ -832,18 +833,21 @@ int client_fetch_more(struct client *cl) extend_recs = atoi(str); - yaz_log(YLOG_LOG, "cl=%s show_stat_no=%d got=%d", + yaz_log(YLOG_DEBUG, "cl=%s show_stat_no=%d got=%d", client_get_id(cl), cl->show_stat_no, cl->record_offset); if (cl->show_stat_no < cl->record_offset) return 0; - yaz_log(YLOG_LOG, "cl=%s Trying to fetch more", client_get_id(cl)); + yaz_log(YLOG_DEBUG, "cl=%s Trying to fetch more", client_get_id(cl)); if (number > extend_recs) number = extend_recs; - if (number > 0) + if (number <= 0) + yaz_log(YLOG_DEBUG, "cl=%s. OK no more in total set", client_get_id(cl)); + else if (!co) + yaz_log(YLOG_DEBUG, "cl=%s. No connection", client_get_id(cl)); + else { ZOOM_resultset set = cl->resultset; - struct connection *co = client_get_connection(cl); str = session_setting_oneval(sdb, PZ_REQUESTSYNTAX); ZOOM_resultset_option_set(set, "preferredRecordSyntax", str); @@ -856,10 +860,6 @@ int client_fetch_more(struct client *cl) connection_continue(co); return 1; } - else - { - yaz_log(YLOG_LOG, "cl=%s. OK no more in total set", client_get_id(cl)); - } return 0; } @@ -958,9 +958,10 @@ int client_start_search(struct client *cl) } 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); @@ -968,8 +969,6 @@ int client_start_search(struct client *cl) link = connection_get_link(co); assert(link); - session_log(se, YLOG_LOG, "%s: new search", client_get_id(cl)); - client_destroy_xdoc(cl); client_init_xdoc(cl); @@ -1171,6 +1170,12 @@ void client_disconnect(struct client *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); @@ -1548,8 +1553,6 @@ int client_parse_query(struct client *cl, const char *query, facet_limits_destroy(cl->facet_limits); cl->facet_limits = facet_limits_dup(facet_limits); - yaz_log(YLOG_LOG, "Client %s: CCL query: %s limit: %s", - client_get_id(cl), wrbuf_cstr(w_ccl), wrbuf_cstr(w_pqf)); cn = ccl_find_str(ccl_map, wrbuf_cstr(w_ccl), &cerror, &cpos); ccl_qual_rm(&ccl_map); if (!cn) @@ -1618,9 +1621,6 @@ int client_parse_query(struct client *cl, const char *query, } else { - session_log(se, YLOG_LOG, "PQF for Client %s: %s", - client_get_id(cl), cl->pquery); - /* Support for PQF on SRU targets. */ if (strcmp(query_syntax, "pqf") != 0 && *sru) {