+// returns a xmalloced CQL query corresponding to the pquery in client
+static char *make_cqlquery(struct client *cl)
+{
+ cql_transform_t cqlt = cql_transform_create();
+ Z_RPNQuery *zquery;
+ char *r;
+ WRBUF wrb = wrbuf_alloc();
+ int status;
+
+ zquery = p_query_rpn(global_parameters.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 = xstrdup(wrbuf_cstr(wrb));
+
+ wrbuf_destroy(wrb);
+ odr_reset(global_parameters.odr_out); // releases the zquery
+ cql_transform_close(cqlt);
+ return r;
+}
+