diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-06-05 12:32:25 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-06-05 12:32:25 +0000 |
commit | 10044079375f308895ab8848a7b3d2d4a38f1441 (patch) | |
tree | 2027b544fe23089cd2de401c6d3ade0b70115b02 /searchlib | |
parent | 67134e619715227e6cbe91f365213487ff1b1f34 (diff) |
add TODOs about further use of unique_ptr
Diffstat (limited to 'searchlib')
8 files changed, 9 insertions, 0 deletions
diff --git a/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp b/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp index 68290e105f1..0de0815731b 100644 --- a/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp +++ b/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp @@ -230,6 +230,7 @@ struct WeightedSetFactory : SparseVectorFactory { std::vector<SearchIterator *> terms; std::vector<int32_t> weights; for (size_t i = 0; i < childCnt; ++i) { + // TODO: pass ownership with unique_ptr terms.push_back(childFactory.createChild(i, limit).release()); weights.push_back(default_weight); } diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp index af3fbca6943..121cb736471 100644 --- a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp @@ -162,6 +162,7 @@ AttributeWeightedSetBlueprint::createLeafSearch(const fef::TermFieldMatchDataArr auto child_tfmd = match_data->resolveTermField(handle); std::vector<queryeval::SearchIterator*> children(_contexts.size()); for (size_t i = 0; i < _contexts.size(); ++i) { + // TODO: pass ownership with unique_ptr children[i] = _contexts[i]->createIterator(child_tfmd, true).release(); } return queryeval::SearchIterator::UP(queryeval::WeightedSetTermSearch::create(children, tfmd, _weights, std::move(match_data))); diff --git a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp index 741aec98f4f..454db4e820a 100644 --- a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp @@ -59,6 +59,7 @@ DotProductBlueprint::createLeafSearch(const search::fef::TermFieldMatchDataArray const State &childState = _terms[i]->getState(); assert(childState.numFields() == 1); childMatch.push_back(childState.field(0).resolve(*md)); + // TODO: pass ownership with unique_ptr children[i] = _terms[i]->createSearch(*md, true).release(); } return DotProductSearch::create(children, *tfmda[0], childMatch, _weights, std::move(md)); diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp index fd6a399e92f..3d3a703cd7b 100644 --- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp @@ -433,6 +433,7 @@ WeakAndBlueprint::createIntermediateSearch(MultiSearch::Children sub_searches, assert(sub_searches.size() == childCnt()); assert(_weights.size() == childCnt()); for (size_t i = 0; i < sub_searches.size(); ++i) { + // TODO: pass ownership with unique_ptr terms.push_back(wand::Term(sub_searches[i].release(), _weights[i], getChild(i).getState().estimate().estHits)); @@ -697,6 +698,7 @@ SourceBlenderBlueprint::createIntermediateSearch(MultiSearch::Children sub_searc SourceBlenderSearch::Children children; assert(sub_searches.size() == childCnt()); for (size_t i = 0; i < sub_searches.size(); ++i) { + // TODO: pass ownership with unique_ptr children.push_back(SourceBlenderSearch::Child(sub_searches[i].release(), getChild(i).getSourceId())); assert(children.back().sourceId != 0xffffffff); diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp index 7ad4a36f871..d4f16e2f91c 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp @@ -86,6 +86,7 @@ ParallelWeakAndBlueprint::createLeafSearch(const search::fef::TermFieldMatchData for (size_t i = 0; i < _terms.size(); ++i) { const State &childState = _terms[i]->getState(); assert(childState.numFields() == 1); + // TODO: pass ownership with unique_ptr terms.push_back(wand::Term(_terms[i]->createSearch(*childrenMatchData, true).release(), _weights[i], childState.estimate().estHits, diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h index 6c4d9209da1..071d6d99470 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h +++ b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h @@ -35,6 +35,7 @@ typedef std::vector<AttrDictEntry> AttrDictEntries; * Wrapper used to specify underlying terms during setup **/ struct Term { + // TODO: use unique_ptr for ownership SearchIterator *search; int32_t weight; uint32_t estHits; diff --git a/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_blueprint.cpp index 36378439c01..cea35d976f0 100644 --- a/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_blueprint.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_blueprint.cpp @@ -50,6 +50,7 @@ WeightedSetTermBlueprint::createLeafSearch(const fef::TermFieldMatchDataArray &t fef::MatchData::UP md = _layout.createMatchData(); std::vector<SearchIterator*> children(_terms.size()); for (size_t i = 0; i < _terms.size(); ++i) { + // TODO: pass ownership with unique_ptr children[i] = _terms[i]->createSearch(*md, true).release(); } return SearchIterator::UP(WeightedSetTermSearch::create(children, *tfmda[0], _weights, std::move(md))); diff --git a/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_search.h b/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_search.h index 7eba0907f6b..ecc620a3adb 100644 --- a/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_search.h +++ b/searchlib/src/vespa/searchlib/queryeval/weighted_set_term_search.h @@ -27,6 +27,7 @@ protected: WeightedSetTermSearch() {} public: + // TODO: pass ownership with unique_ptr static SearchIterator::UP create(const std::vector<SearchIterator *> &children, search::fef::TermFieldMatchData &tmd, const std::vector<int32_t> &weights, |