/* This file is part of Metaproxy.
- Copyright (C) 2005-2012 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
xmlDocDumpFormatMemory(doc, &xmlbuff, &xmlbuffsz, 1);
explain_xml.assign((const char*)xmlbuff, 0, xmlbuffsz);
+ xmlFree(xmlbuff);
}
mp::odr &odr_en,
Z_SRW_PDU *sru_pdu_res,
Z_SOAP **soap,
- char *charset,
- char *stylesheet)
+ char *charset)
{
Z_GDU *zgdu_req = package.request().get();
Z_SRW_PDU *sru_pdu_req = 0;
// closing connection if we did not ...
if (0 == yaz_sru_decode(http_req, &sru_pdu_req, soap,
odr_de, &charset,
- &(sru_pdu_res->u.response->diagnostics),
- &(sru_pdu_res->u.response->num_diagnostics)))
+ &(sru_pdu_res->u.explain_response->diagnostics),
+ &(sru_pdu_res->u.explain_response->num_diagnostics)))
{
- if (sru_pdu_res->u.response->num_diagnostics)
+ if (sru_pdu_res->u.explain_response->num_diagnostics)
{
//sru_pdu_res = sru_pdu_res_exp;
package.session().close();
Z_SRW_PDU *sru_pdu_res,
Z_SRW_searchRetrieveRequest const *sr_req)
{
+#ifdef Z_SRW_query_type_cql
if ((sr_req->query_type == Z_SRW_query_type_cql && !sr_req->query.cql))
{
yaz_add_srw_diagnostic(odr_en,
"PQF query is empty");
return false;
}
+#else
+ if (!sr_req->query)
+ {
+ yaz_add_srw_diagnostic(odr_en,
+ &(sru_pdu_res->u.response->diagnostics),
+ &(sru_pdu_res->u.response->num_diagnostics),
+ YAZ_SRW_MANDATORY_PARAMETER_NOT_SUPPLIED,
+ "query");
+ yaz_add_srw_diagnostic(odr_en,
+ &(sru_pdu_res->u.response->diagnostics),
+ &(sru_pdu_res->u.response->num_diagnostics),
+ YAZ_SRW_QUERY_SYNTAX_ERROR,
+ "CQL query is empty");
+ return false;
+ }
+#endif
return true;
}
else
os << " -";
+#ifdef Z_SRW_query_type_cql
switch (sr->query_type){
case Z_SRW_query_type_cql:
os << " CQL";
os << " " << sr->query.pqf;
break;
}
+#else
+ os << " " << (sr->queryType ? sr->queryType : "cql")
+ << " " << sr->query;
+#endif
}
}
break;