summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-11-30 12:44:39 +0100
committerTor Egge <Tor.Egge@online.no>2023-11-30 12:44:39 +0100
commit88d3e7ce533f47b9b991a3262ee2c77445ff591a (patch)
tree67e782aa664caa52abcc76204b51f23a1dfcd530 /searchsummary
parent690f060bf5b5b5a22d747ecd5c8a66179dd4bd58 (diff)
Keep arity of parent in sync when making juniper query from stack dump.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/vespa/juniper/queryvisitor.cpp5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp3
2 files changed, 6 insertions, 2 deletions
diff --git a/searchsummary/src/vespa/juniper/queryvisitor.cpp b/searchsummary/src/vespa/juniper/queryvisitor.cpp
index 73301f3119f..ef88fd79f6f 100644
--- a/searchsummary/src/vespa/juniper/queryvisitor.cpp
+++ b/searchsummary/src/vespa/juniper/queryvisitor.cpp
@@ -210,6 +210,7 @@ void QueryVisitor::VisitKeyword(const QueryItem* item, const char* keyword,
{
if (length == 0) {
// Do not consider empty terms.
+ insert(nullptr); // keep arity of parent in sync!
return;
}
juniper::ItemCreator creator = item->get_creator();
@@ -220,7 +221,7 @@ void QueryVisitor::VisitKeyword(const QueryItem* item, const char* keyword,
break;
default:
/** Keep track of eliminated children to have correct arity in rep. */
- insert(NULL);
+ insert(nullptr);
if (LOG_WOULD_LOG(debug)) {
std::string s(keyword, length);
std::string ind = get_index(item);
@@ -237,7 +238,7 @@ void QueryVisitor::VisitKeyword(const QueryItem* item, const char* keyword,
std::string ind = get_index(item);
LOG(debug, "juniper: VisitKeyword(%s:%s) - not applicable index", ind.c_str(), s.c_str());
}
- insert(NULL); // keep arity of parent in sync!
+ insert(nullptr); // keep arity of parent in sync!
return;
}
if (LOG_WOULD_LOG(debug)) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
index 4e158ff595a..4e29a9a2f0b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
@@ -136,6 +136,9 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const
case search::ParseItem::ITEM_SAME_ELEMENT:
case search::ParseItem::ITEM_NEAREST_NEIGHBOR:
case search::ParseItem::ITEM_GEO_LOCATION_TERM:
+ case search::ParseItem::ITEM_FUZZY:
+ case search::ParseItem::ITEM_STRING_IN:
+ case search::ParseItem::ITEM_NUMERIC_IN:
if (!v->VisitOther(&item, iterator.getArity())) {
rc = skipItem(&iterator);
}