- case Z_SRW_query_type_cql:
- yaz_add_name_value_str(encode, name, value, &i, "scanClause",
- srw_pdu->u.scan_request->scanClause.cql);
- break;
- case Z_SRW_query_type_pqf:
- yaz_add_name_value_str(encode, name, value, &i, "x-pScanClause",
- srw_pdu->u.scan_request->scanClause.pqf);
- break;
- case Z_SRW_query_type_xcql:
- yaz_add_name_value_str(encode, name, value, &i, "x-cqlScanClause",
- srw_pdu->u.scan_request->scanClause.xcql);
- break;
+ if (queryType && strcmp(queryType, "cql"))
+ yaz_add_name_value_str(encode, name, value, &i, "queryType",
+ queryType);
+ yaz_add_name_value_str(encode, name, value, &i, "query",
+ srw_pdu->u.request->query);
+ }
+ else
+ {
+ if (!queryType || !strcmp(queryType, "cql"))
+ yaz_add_name_value_str(encode, name, value, &i, "scanClause",
+ srw_pdu->u.scan_request->scanClause);
+ else if (!strcmp(queryType, "pqf"))
+ yaz_add_name_value_str(encode, name, value, &i, "x-pScanClause",
+ srw_pdu->u.scan_request->scanClause);
+ else if (!strcmp(queryType, "xcql"))
+ yaz_add_name_value_str(encode, name, value, &i,
+ "x-cqlScanClause",
+ srw_pdu->u.scan_request->scanClause);