aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-06-14 17:32:29 +0200
committerGitHub <noreply@github.com>2023-06-14 17:32:29 +0200
commitdc4ef240e27d270fe685e2f2eedeecaf5ff977e9 (patch)
tree75f376c441c0d86e3ce68cabc6985ba6ffc84a09
parentfac39aa84c568522e8dba897505cf2c7db695e93 (diff)
parent88c2d5c8ae3aa67ab32180edc7d7acd283406ebe (diff)
Merge pull request #27426 from vespa-engine/balder/array-at-lookup-is-attribute-node
ArrayAtLookup is now an AttributeNode, so duplicate handling.
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.cpp19
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.h2
2 files changed, 4 insertions, 17 deletions
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
index 5592f2f863b..cef596ca3be 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
@@ -4,7 +4,6 @@
#include "documentaccessornode.h"
#include "relevancenode.h"
#include "interpolatedlookupfunctionnode.h"
-#include "arrayatlookupfunctionnode.h"
#include "attributenode.h"
namespace search::expression {
@@ -28,8 +27,7 @@ ExpressionTree::ExpressionTree() :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -39,8 +37,7 @@ ExpressionTree::ExpressionTree(const ExpressionNode &root) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -84,7 +81,6 @@ ExpressionTree::onPrepare(bool preserveAccurateTypes)
gather(_documentAccessorNodes).from(*_root);
gather(_relevanceNodes).from(*_root);
gather(_interpolatedLookupNodes).from(*_root);
- gather(_arrayAtLookupNodes).from(*_root);
}
}
@@ -94,8 +90,7 @@ ExpressionTree::ExpressionTree(ExpressionNode::UP root) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -106,8 +101,7 @@ ExpressionTree::ExpressionTree(const ExpressionTree & rhs) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -138,7 +132,6 @@ ExpressionTree::swap(ExpressionTree & e)
_documentAccessorNodes.swap(e._documentAccessorNodes);
_relevanceNodes.swap(e._relevanceNodes);
_interpolatedLookupNodes.swap(e._interpolatedLookupNodes);
- _arrayAtLookupNodes.swap(_arrayAtLookupNodes);
}
ExpressionTree::~ExpressionTree() = default;
@@ -160,9 +153,6 @@ struct DocIdSetter {
void operator() (InterpolatedLookup *node) {
node->setDocId(_docId);
}
- void operator() (ArrayAtLookup *node) {
- node->setDocId(_docId);
- }
void operator() (AttributeNode *node) {
node->setDocId(_docId);
}
@@ -186,7 +176,6 @@ ExpressionTree::execute(DocId docId, HitRank rank) const
std::for_each(_attributeNodes.cbegin(), _attributeNodes.cend(), setDocId);
std::for_each(_relevanceNodes.cbegin(), _relevanceNodes.cend(), setHitRank);
std::for_each(_interpolatedLookupNodes.cbegin(), _interpolatedLookupNodes.cend(), setDocId);
- std::for_each(_arrayAtLookupNodes.cbegin(), _arrayAtLookupNodes.cend(), setDocId);
return _root->execute();
}
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.h b/searchlib/src/vespa/searchlib/expression/expressiontree.h
index b9517fc5f69..54600e7fcf5 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.h
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.h
@@ -68,14 +68,12 @@ private:
using DocumentAccessorNodeList = std::vector<DocumentAccessorNode *>;
using RelevanceNodeList = std::vector<RelevanceNode *>;
using InterpolatedLookupList = std::vector<InterpolatedLookup *>;
- using ArrayAtLookupList = std::vector<ArrayAtLookup *>;
ExpressionNode::CP _root;
AttributeNodeList _attributeNodes;
DocumentAccessorNodeList _documentAccessorNodes;
RelevanceNodeList _relevanceNodes;
InterpolatedLookupList _interpolatedLookupNodes;
- ArrayAtLookupList _arrayAtLookupNodes;
};
}