diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-06-14 17:32:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 17:32:29 +0200 |
commit | dc4ef240e27d270fe685e2f2eedeecaf5ff977e9 (patch) | |
tree | 75f376c441c0d86e3ce68cabc6985ba6ffc84a09 | |
parent | fac39aa84c568522e8dba897505cf2c7db695e93 (diff) | |
parent | 88c2d5c8ae3aa67ab32180edc7d7acd283406ebe (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.cpp | 19 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/expressiontree.h | 2 |
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; }; } |