summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-10 08:36:35 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-11 09:00:34 +0000
commitc03d44aec3ca14517c8e5caba966fe9ec8c8c720 (patch)
tree21816e967d445bfa42f1037e576a0a40b3599d9d
parent857b13587599754935b0a340c2434114afd3fcc2 (diff)
remove stub implementations in NearestNeighborIndex
* make API pure virtual * implement something that will work in mock
-rw-r--r--searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/tensor/nearest_neighbor_index.h16
2 files changed, 11 insertions, 14 deletions
diff --git a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
index 74e67fb7fcd..7a4c6c9e56a 100644
--- a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
+++ b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
@@ -158,6 +158,15 @@ public:
auto vector = _vectors.get_vector(docid).typify<double>();
_adds.emplace_back(docid, DoubleVector(vector.begin(), vector.end()));
}
+ std::unique_ptr<search::tensor::PrepareResult> prepare_add_document(uint32_t,
+ vespalib::tensor::TypedCells,
+ vespalib::GenerationHandler::Guard) const override {
+ return std::unique_ptr<search::tensor::PrepareResult>();
+ }
+ void complete_add_document(uint32_t docid,
+ std::unique_ptr<search::tensor::PrepareResult>) override {
+ add_document(docid);
+ }
void remove_document(uint32_t docid) override {
auto vector = _vectors.get_vector(docid).typify<double>();
_removes.emplace_back(docid, DoubleVector(vector.begin(), vector.end()));
diff --git a/searchlib/src/vespa/searchlib/tensor/nearest_neighbor_index.h b/searchlib/src/vespa/searchlib/tensor/nearest_neighbor_index.h
index 725ac453ed8..b46c19ac88a 100644
--- a/searchlib/src/vespa/searchlib/tensor/nearest_neighbor_index.h
+++ b/searchlib/src/vespa/searchlib/tensor/nearest_neighbor_index.h
@@ -48,26 +48,14 @@ public:
*/
virtual std::unique_ptr<PrepareResult> prepare_add_document(uint32_t docid,
vespalib::tensor::TypedCells vector,
- vespalib::GenerationHandler::Guard read_guard) const {
- // TODO: Make it pure virtual after more wiring is complete.
- (void) docid;
- (void) vector;
- (void) read_guard;
- return std::unique_ptr<PrepareResult>();
- }
-
+ vespalib::GenerationHandler::Guard read_guard) const = 0;
/**
* Performs the complete step in a two-phase operation to add a document to the index.
*
* This function is only called by the attribute writer thread.
* It uses the result from the prepare step to do the modifying changes.
*/
- virtual void complete_add_document(uint32_t docid,
- std::unique_ptr<PrepareResult> prepare_result) {
- // TODO: Make it pure virtual after more wiring is complete.
- (void) docid;
- (void) prepare_result;
- }
+ virtual void complete_add_document(uint32_t docid, std::unique_ptr<PrepareResult> prepare_result) = 0;
virtual void remove_document(uint32_t docid) = 0;
virtual void transfer_hold_lists(generation_t current_gen) = 0;