|
a/src/query/wasastringtoquery.cpp |
|
b/src/query/wasastringtoquery.cpp |
|
... |
|
... |
62 |
switch (m_op) {
|
62 |
switch (m_op) {
|
63 |
case OP_NULL:
|
63 |
case OP_NULL:
|
64 |
desc += "NULL";
|
64 |
desc += "NULL";
|
65 |
break;
|
65 |
break;
|
66 |
case OP_LEAF:
|
66 |
case OP_LEAF:
|
|
|
67 |
if (m_exclude)
|
|
|
68 |
desc += "NOT (";
|
67 |
desc += fieldspec + m_value;
|
69 |
desc += fieldspec + m_value;
|
68 |
break;
|
70 |
if (m_exclude)
|
69 |
case OP_EXCL:
|
71 |
desc += ")";
|
70 |
desc += string("NOT (" ) + fieldspec + m_value + ") ";
|
|
|
71 |
break;
|
72 |
break;
|
72 |
case OP_OR:
|
73 |
case OP_OR:
|
73 |
case OP_AND:
|
74 |
case OP_AND:
|
74 |
for (vector<WasaQuery *>::const_iterator it = m_subs.begin();
|
75 |
for (vector<WasaQuery *>::const_iterator it = m_subs.begin();
|
75 |
it != m_subs.end(); it++) {
|
76 |
it != m_subs.end(); it++) {
|
|
... |
|
... |
427 |
// ?? If field matched we should have a relation
|
428 |
// ?? If field matched we should have a relation
|
428 |
nclause->m_rel = WasaQuery::REL_CONTAINS;
|
429 |
nclause->m_rel = WasaQuery::REL_CONTAINS;
|
429 |
}
|
430 |
}
|
430 |
}
|
431 |
}
|
431 |
|
432 |
|
|
|
433 |
nclause->m_op = WasaQuery::OP_LEAF;
|
432 |
// +- indicator ?
|
434 |
// +- indicator ?
|
433 |
if (checkSubMatch(SMI_PM, match, reason) && match[0] == '-') {
|
435 |
if (checkSubMatch(SMI_PM, match, reason) && match[0] == '-') {
|
434 |
nclause->m_op = WasaQuery::OP_EXCL;
|
436 |
nclause->m_exclude = true;
|
435 |
} else {
|
437 |
} else {
|
436 |
nclause->m_op = WasaQuery::OP_LEAF;
|
438 |
nclause->m_exclude = false;
|
437 |
}
|
439 |
}
|
438 |
|
440 |
|
439 |
if (prev_or) {
|
441 |
if (prev_or) {
|
440 |
// The precedent token was an OR, add new clause to or chain
|
442 |
// The precedent token was an OR, add new clause to or chain
|
441 |
//DPRINT((stderr, "Adding to OR chain\n"));
|
443 |
//DPRINT((stderr, "Adding to OR chain\n"));
|