diff options
author | Tor Brede Vekterli <vekterli@vespa.ai> | 2024-03-13 15:19:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-13 15:19:31 +0100 |
commit | 85edf75e34102f4e979fd9ed57cbb5411138b570 (patch) | |
tree | 3b116ed8f267b31031d8e740c21d9b58d57fb21c /document | |
parent | 3e63b07c788a074beb9e46e8e6abd32636c95d00 (diff) | |
parent | b1c2f5e4548a0c468e280a32af6766b5c3710938 (diff) |
Merge pull request #30611 from vespa-engine/vekterli/handle-imported-attributes-in-doc-select-fallback-path
Use attributes when evaluating selection expression on full documents
Diffstat (limited to 'document')
-rw-r--r-- | document/src/vespa/document/select/branch.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/document/src/vespa/document/select/branch.cpp b/document/src/vespa/document/select/branch.cpp index 02f767c96b5..6035b5fe9a0 100644 --- a/document/src/vespa/document/select/branch.cpp +++ b/document/src/vespa/document/select/branch.cpp @@ -39,6 +39,10 @@ namespace { ResultList traceAndValue(const T& value, std::ostream& out, const Node& leftNode, const Node& rightNode) { + out << "And (lhs):\n"; + (void)leftNode.trace(value, out); + out << "And (rhs):\n"; + (void)rightNode.trace(value, out); out << "And - Left branch returned " << leftNode.contains(value) << ".\n"; out << "And - Right branch returned " << rightNode.contains(value) << ".\n"; return leftNode.contains(value) && rightNode.contains(value); @@ -83,6 +87,10 @@ namespace { ResultList traceOrValue(const T& value, std::ostream& out, const Node& leftNode, const Node& rightNode) { + out << "Or (lhs):\n"; + (void)leftNode.trace(value, out); + out << "Or (rhs):\n"; + (void)rightNode.trace(value, out); out << "Or - Left branch returned " << leftNode.contains(value) << ".\n"; out << "Or - Right branch returned " << rightNode.contains(value) << ".\n"; return leftNode.contains(value) || rightNode.contains(value); @@ -122,6 +130,8 @@ namespace { template<typename T> ResultList traceNotValue(const T& value, std::ostream& out, const Node& node) { + out << "Not:\n"; + (void)node.trace(value, out); out << "Not - Child returned " << node.contains(value) << ". Returning opposite.\n"; return !node.contains(value); |