summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-08-11 09:03:27 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-08-11 10:19:07 +0000
commitb9e65c8260a50f58e7f20ed6d33538a8e5a7301d (patch)
tree2579628ad263118b2f7bf57dd4bb267c0c35253f
parent23b628143ff9ff5a09a5b4a03ec8da6bea37e246 (diff)
Properly access the feature name for hashed edges.
-rw-r--r--searchlib/src/tests/predicate/predicate_tree_annotator_test.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/predicate/predicate_tree_annotator.cpp4
2 files changed, 7 insertions, 5 deletions
diff --git a/searchlib/src/tests/predicate/predicate_tree_annotator_test.cpp b/searchlib/src/tests/predicate/predicate_tree_annotator_test.cpp
index f4c49b36251..f835fb3519c 100644
--- a/searchlib/src/tests/predicate/predicate_tree_annotator_test.cpp
+++ b/searchlib/src/tests/predicate/predicate_tree_annotator_test.cpp
@@ -236,10 +236,10 @@ TEST("require short edge_partitions to get correct intervals and features") {
EXPECT_EQUAL(4u, result.features.size());
EXPECT_EQUAL(0u, result.range_features.size());
- EXPECT_EQUAL(0ul, result.features[0]); //This is incorrect
- EXPECT_EQUAL(0ul, result.features[1]); //This is incorrect
- EXPECT_EQUAL(0ul, result.features[2]); //This is incorrect
- EXPECT_EQUAL(0ul, result.features[3]); //This is incorrect
+ EXPECT_EQUAL(0xdbc38b103b5d50a9ul, result.features[0]); //This is incorrect
+ EXPECT_EQUAL(0xbe6d86e3e2270b0aul, result.features[1]); //This is incorrect
+ EXPECT_EQUAL(0xb2b301e26efffdc2ul, result.features[2]); //This is incorrect
+ EXPECT_EQUAL(3580296296714527193ul, result.features[3]); //This is incorrect
checkBounds(result, "key=0", {{0x00010001, 0xffffffff}});
checkBounds(result, "key=30", {{0x00010001, 3}});
checkBounds(result, "foo=0", {{0x00020002, 0xffffffff}});
diff --git a/searchlib/src/vespa/searchlib/predicate/predicate_tree_annotator.cpp b/searchlib/src/vespa/searchlib/predicate/predicate_tree_annotator.cpp
index ae207dc0039..caee997b471 100644
--- a/searchlib/src/vespa/searchlib/predicate/predicate_tree_annotator.cpp
+++ b/searchlib/src/vespa/searchlib/predicate/predicate_tree_annotator.cpp
@@ -194,7 +194,9 @@ PredicateTreeAnnotatorImpl::assignIntervalMarkers(const Inspector &in) {
_result.features.push_back(in_hashed_partitions[i].asLong());
}
for (size_t i = 0; i < in_hashed_edges.children(); ++i) {
- _result.features.push_back(in_hashed_edges[i].asLong());
+ const Inspector& child = in_hashed_edges[i];
+ uint64_t hash = child[Predicate::HASH].asLong();
+ _result.features.push_back(hash);
}
} else {
const Inspector& in_min = in[Predicate::RANGE_MIN];