return 0;
}
+static void client_show_raw_delete(struct show_raw *r)
+{
+ xfree(r->syntax);
+ xfree(r->esn);
+ xfree(r);
+}
+
void client_show_raw_remove(struct client *cl, void *data)
{
struct show_raw *rr = data;
if (*rrp)
{
*rrp = rr->next;
- xfree(rr);
+ client_show_raw_delete(rr);
}
}
struct show_raw *rr = cl->show_raw;
cl->show_raw = rr->next;
- xfree(rr);
+ client_show_raw_delete(rr);
}
static void client_show_raw_error(struct client *cl, const char *addinfo)
ZOOM_connection_option_set(link, "elementSetName", opt_elements);
if (*opt_requestsyn)
ZOOM_connection_option_set(link, "preferredRecordSyntax", opt_requestsyn);
- if (*opt_maxrecs)
- ZOOM_connection_option_set(link, "count", opt_maxrecs);
- else
- {
- char n[128];
- sprintf(n, "%d", global_parameters.toget);
- ZOOM_connection_option_set(link, "count", n);
- }
+ if (!*opt_maxrecs)
+ opt_maxrecs = "100";
+
+ ZOOM_connection_option_set(link, "count", opt_maxrecs);
+
if (databaseName)
ZOOM_connection_option_set(link, "databaseName", databaseName);
- ZOOM_connection_option_set(link, "presentChunk", "20");
+ if (atoi(opt_maxrecs) > 20)
+ ZOOM_connection_option_set(link, "presentChunk", "20");
+ else
+ ZOOM_connection_option_set(link, "presentChunk", opt_maxrecs);
if (cl->cqlquery)
{
ODR odr_out = odr_createmem(ODR_ENCODE);
zquery = p_query_rpn(odr_out, cl->pquery);
+ yaz_log(YLOG_LOG, "PQF: %s", cl->pquery);
if ((status = cql_transform_rpn2cql_wrbuf(cqlt, wrb, zquery)))
{
- yaz_log(YLOG_WARN, "failed to generate CQL query, code=%d", status);
+ yaz_log(YLOG_WARN, "Failed to generate CQL query, code=%d", status);
r = 0;
}
else
if (!cn)
{
client_set_state(cl, Client_Error);
- yaz_log(YLOG_WARN, "Failed to parse query for %s",
- client_get_database(cl)->database->url);
+ yaz_log(YLOG_WARN, "Failed to parse CCL query %s for %s",
+ query,
+ client_get_database(cl)->database->url);
return -1;
}
wrbuf_rewind(se->wrbuf);
extract_terms(se->nmem, cn, p);
se->relevance = relevance_create(
se->service->relevance_pct,
- se->nmem, (const char **) p,
- se->expected_maxrecs);
+ se->nmem, (const char **) p);
}
ccl_rpn_delete(cn);