summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-06-01 15:04:50 +0200
committerTor Egge <Tor.Egge@online.no>2023-06-01 15:04:50 +0200
commit461dbb45b2667d2f893b6b000ef49a2a6355a9e5 (patch)
treee7bb7f99e2040565da880e7658c469c9a2ca1e52
parent4cae2ecf6c9c5ac7f329a112451909d0f7ac3950 (diff)
Improve handling of query items TRUE and FALSE.
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp1
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
index ae1d2c16960..f7c38b54227 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
@@ -195,6 +195,7 @@ bool SimpleQueryStackDumpIterator::readNext() {
case ParseItem::ITEM_TRUE:
case ParseItem::ITEM_FALSE:
// no content
+ _currArity = 0;
break;
default:
// Unknown item, so report that no more are available
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
index 80e21f0be96..509aa366ff6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp
@@ -121,6 +121,9 @@ JuniperQueryAdapter::Traverse(juniper::IQueryVisitor *v) const
break;
case search::ParseItem::ITEM_TRUE:
case search::ParseItem::ITEM_FALSE:
+ if (!v->VisitOther(&item, iterator.getArity())) {
+ rc = skipItem(&iterator);
+ }
break;
// Unhandled items are just ignored by juniper
case search::ParseItem::ITEM_WAND: