aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-05 12:32:25 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-05 12:32:25 +0000
commit10044079375f308895ab8848a7b3d2d4a38f1441 (patch)
tree2027b544fe23089cd2de401c6d3ade0b70115b02 /searchlib
parent67134e619715227e6cbe91f365213487ff1b1f34 (diff)
add TODOs about further use of unique_ptr
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/weighted_set_term_blueprint.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/weighted_set_term_search.h1
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,