summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-10-18 13:53:55 +0000
committerArne H Juul <arnej@yahooinc.com>2021-10-18 13:55:00 +0000
commit0c76851a13f75fdca3f859ea6135b29e2179656f (patch)
treea5ea1fe5d97bfb8e86d5ebad850ae6f90294477d /searchcore
parenta6784673e65b55a7812d208c06f76ad903b81cab (diff)
add ITEM_TRUE and ITEM_FALSE query nodes
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/matching/unpacking_iterators_optimizer/unpacking_iterators_optimizer_test.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/same_element_builder.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/termdatafromnode.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/unpacking_iterators_optimizer.cpp3
5 files changed, 16 insertions, 2 deletions
diff --git a/searchcore/src/tests/proton/matching/unpacking_iterators_optimizer/unpacking_iterators_optimizer_test.cpp b/searchcore/src/tests/proton/matching/unpacking_iterators_optimizer/unpacking_iterators_optimizer_test.cpp
index 5dc9808a5b6..68960e0f919 100644
--- a/searchcore/src/tests/proton/matching/unpacking_iterators_optimizer/unpacking_iterators_optimizer_test.cpp
+++ b/searchcore/src/tests/proton/matching/unpacking_iterators_optimizer/unpacking_iterators_optimizer_test.cpp
@@ -67,6 +67,8 @@ struct DumpQuery : QueryVisitor {
void visit(PredicateQuery &) override {}
void visit(RegExpTerm &) override {}
void visit(NearestNeighborTerm &) override {}
+ void visit(search::query::TrueQueryNode &) override {}
+ void visit(search::query::FalseQueryNode &) override {}
};
std::string dump_query(Node &root) {
diff --git a/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp b/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
index 0d640f2a599..a12d556ff5f 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
@@ -144,7 +144,6 @@ protected:
void visit(ProtonONear &n) override { buildIntermediate(new ONearBlueprint(n.getDistance()), n); }
void visit(ProtonSameElement &n) override { buildSameElement(n); }
-
void visit(ProtonWeightedSetTerm &n) override { buildTerm(n); }
void visit(ProtonDotProduct &n) override { buildTerm(n); }
void visit(ProtonWandTerm &n) override { buildTerm(n); }
@@ -161,6 +160,13 @@ protected:
void visit(ProtonRegExpTerm &n) override { buildTerm(n); }
void visit(ProtonNearestNeighborTerm &n) override { buildTerm(n); }
+ void visit(search::query::TrueQueryNode &) override {
+ _result = std::make_unique<AlwaysTrueBlueprint>();
+ }
+ void visit(search::query::FalseQueryNode &) override {
+ _result = std::make_unique<EmptyBlueprint>();
+ }
+
public:
BlueprintBuilderVisitor(const IRequestContext & requestContext, ISearchContext &context) :
_requestContext(requestContext),
diff --git a/searchcore/src/vespa/searchcore/proton/matching/same_element_builder.cpp b/searchcore/src/vespa/searchcore/proton/matching/same_element_builder.cpp
index a3722c1e3b9..9e415ed699f 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/same_element_builder.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/same_element_builder.cpp
@@ -51,7 +51,6 @@ public:
void visit(ProtonRank &) override {}
void visit(ProtonWeakAnd &) override {}
void visit(ProtonSameElement &) override {}
-
void visit(ProtonWeightedSetTerm &) override {}
void visit(ProtonDotProduct &) override {}
void visit(ProtonWandTerm &) override {}
@@ -68,6 +67,8 @@ public:
void visit(ProtonPredicateQuery &) override {}
void visit(ProtonRegExpTerm &n) override { visitTerm(n); }
void visit(ProtonNearestNeighborTerm &) override {}
+ void visit(search::query::TrueQueryNode &) override {}
+ void visit(search::query::FalseQueryNode &) override {}
};
} // namespace proton::matching::<unnamed>
diff --git a/searchcore/src/vespa/searchcore/proton/matching/termdatafromnode.cpp b/searchcore/src/vespa/searchcore/proton/matching/termdatafromnode.cpp
index 08ec0e767db..c752ed76909 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/termdatafromnode.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/termdatafromnode.cpp
@@ -26,6 +26,8 @@ struct TermDataFromTermVisitor
void visit(ProtonRank &) override {}
void visit(ProtonWeakAnd &) override {}
void visit(ProtonSameElement &) override { }
+ void visit(search::query::TrueQueryNode &) override {}
+ void visit(search::query::FalseQueryNode &) override {}
void visit(ProtonWeightedSetTerm &n) override { visitTerm(n); }
void visit(ProtonDotProduct &n) override { visitTerm(n); }
diff --git a/searchcore/src/vespa/searchcore/proton/matching/unpacking_iterators_optimizer.cpp b/searchcore/src/vespa/searchcore/proton/matching/unpacking_iterators_optimizer.cpp
index eada88010dd..bcb482a58ab 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/unpacking_iterators_optimizer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/unpacking_iterators_optimizer.cpp
@@ -57,6 +57,9 @@ struct TermExpander : QueryVisitor {
void visit(PredicateQuery &) override {}
void visit(RegExpTerm &) override {}
void visit(NearestNeighborTerm &) override {}
+ void visit(search::query::TrueQueryNode &) override {}
+ void visit(search::query::FalseQueryNode &) override {}
+
void flush(Intermediate &parent) {
for (Node::UP &term: terms) {
parent.append(std::move(term));