}
pr("#", client_data);
}
- else if (*cp == ' ')
+ else if (*cp == ' ' && stop_at_space)
break;
else
{
{
pr(ccl_field, client_data);
pr(ccl_rel, client_data);
+ if (!split_op)
+ ccl_rel = 0;
}
pr_term(&cp, split_op ? 1 : 0, pr, client_data);
- if (!split_op)
- break;
while (*cp == ' ')
cp++;
if (*cp == '\0')
break;
pr(" ", client_data);
- pr(split_op, client_data);
- pr(" ", client_data);
+ if (split_op)
+ {
+ pr(split_op, client_data);
+ pr(" ", client_data);
+ }
}
if (cn->u.st.extra_terms)
{
if (!r)
{
ret = 0;
- yaz_log(YLOG_WARN, "cql: diff %s", cql);
+ yaz_log(YLOG_WARN, "cql: diff: %s", cql);
yaz_log(YLOG_WARN, " exp error");
yaz_log(YLOG_WARN, " got ccl %s", wrbuf_cstr(w));
}
YAZ_CHECK(tst_query("title any x", "title=\"x\""));
YAZ_CHECK(tst_query("title any x y", "title=\"x\" or title=\"y\""));
YAZ_CHECK(tst_query("title any \"x y\"", "title=\"x\" or title=\"y\""));
+
+ YAZ_CHECK(tst_query("title = \"x y\"", "title=\"x y\""));
+ YAZ_CHECK(tst_query("title = x y", "title=\"x\" \"y\""));
+
YAZ_CHECK(tst_query("dc.title=encyclopedia prox dinosaurs",
"(dc.title=\"encyclopedia\") % (\"dinosaurs\")"));
YAZ_CHECK(tst_query("dc.title=encyclopedia prox/distance<=3 dinosaurs",