diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-02-01 15:21:04 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-02-01 15:21:04 +0000 |
commit | 9ece782152a1f06b00a143d9cebf38c553c5a028 (patch) | |
tree | a6ab7c9f768399b03e7d5e956f122287198413fd /searchlib/src/tests/memoryindex | |
parent | 179daa38c12471ec9de4e48ec91865c8a336d8a8 (diff) |
Deinline large destructors and clean up some code based on clion hints.
Diffstat (limited to 'searchlib/src/tests/memoryindex')
4 files changed, 70 insertions, 58 deletions
diff --git a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp index 76056029f78..b57a2f42ea7 100644 --- a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp +++ b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp @@ -76,15 +76,8 @@ private: bool _firstDoc; public: - explicit MyBuilder(const Schema &schema) - : IndexBuilder(schema), - _ss(), - _insideWord(false), - _insideField(false), - _firstWord(true), - _firstField(true), - _firstDoc(true) - {} + explicit MyBuilder(const Schema &schema); + ~MyBuilder() override; void startWord(vespalib::stringref word) override { assert(_insideField); @@ -153,6 +146,17 @@ public: } }; +MyBuilder::MyBuilder(const Schema &schema) + : IndexBuilder(schema), + _ss(), + _insideWord(false), + _insideField(false), + _firstWord(true), + _firstField(true), + _firstDoc(true) +{} +MyBuilder::~MyBuilder() = default; + struct SimpleMatchData { TermFieldMatchData term; TermFieldMatchDataArray array; @@ -395,7 +399,7 @@ public: if (_inserter != nullptr) { _inserter->flush(); } - for (auto wfp : _mock) { + for (const auto& wfp : _mock) { auto &wf = wfp.first; auto &word = wf.first; auto fieldId = wf.second; @@ -522,7 +526,7 @@ myCompactFeatures(FieldIndexCollection &fieldIndexes, ISequencedTaskExecutor &pu Schema make_all_index_schema(DocBuilder::AddFieldsType add_fields) { - DocBuilder db(add_fields); + DocBuilder db(std::move(add_fields)); return SchemaBuilder(db).add_all_indexes().build(); } @@ -732,12 +736,8 @@ make_multi_field_add_fields() struct FieldIndexCollectionTest : public ::testing::Test { Schema schema; FieldIndexCollection fic; - FieldIndexCollectionTest() - : schema(make_all_index_schema(make_multi_field_add_fields())), - fic(schema, MockFieldLengthInspector()) - { - } - ~FieldIndexCollectionTest(); + FieldIndexCollectionTest(); + ~FieldIndexCollectionTest() override; [[nodiscard]]NormalFieldIndex::PostingList::Iterator find(const vespalib::stringref word, uint32_t field_id) const { @@ -745,6 +745,11 @@ struct FieldIndexCollectionTest : public ::testing::Test { } }; +FieldIndexCollectionTest::FieldIndexCollectionTest() + : schema(make_all_index_schema(make_multi_field_add_fields())), + fic(schema, MockFieldLengthInspector()) +{ +} FieldIndexCollectionTest::~FieldIndexCollectionTest() = default; TEST_F(FieldIndexCollectionTest, require_that_multiple_posting_lists_across_multiple_fields_can_exist) @@ -938,8 +943,8 @@ public: DocumentInverterContext _inv_context; DocumentInverter _inv; - InverterTest(DocBuilder::AddFieldsType add_fields) - : _b(add_fields), + explicit InverterTest(DocBuilder::AddFieldsType add_fields) + : _b(std::move(add_fields)), _schema(SchemaBuilder(_b).add_all_indexes().build()), _fic(_schema, MockFieldLengthInspector()), _invertThreads(SequencedTaskExecutor::create(invert_executor, 2)), @@ -948,14 +953,14 @@ public: _inv(_inv_context) { } - NormalFieldIndex::PostingList::Iterator find(const vespalib::stringref word, uint32_t field_id) const { + [[nodiscard]] NormalFieldIndex::PostingList::Iterator find(const vespalib::stringref word, uint32_t field_id) const { return find_in_field_index<false>(word, field_id, _fic); } - NormalFieldIndex::PostingList::ConstIterator findFrozen(const vespalib::stringref word, uint32_t field_id) const { + [[nodiscard]] NormalFieldIndex::PostingList::ConstIterator findFrozen(const vespalib::stringref word, uint32_t field_id) const { return find_frozen_in_field_index<false>(word, field_id, _fic); } - SearchIterator::UP search(const vespalib::stringref word, uint32_t field_id, - const SimpleMatchData& match_data) { + [[nodiscard]] SearchIterator::UP + search(const vespalib::stringref word, uint32_t field_id,const SimpleMatchData& match_data) const { return make_search_iterator<false>(findFrozen(word, field_id), featureStoreRef(_fic, field_id), field_id, match_data.array); } diff --git a/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp index 0a9964d5c31..dee8b7f9ace 100644 --- a/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp +++ b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp @@ -63,20 +63,8 @@ struct FieldIndexRemoverTest : public ::testing::Test { std::vector<std::map<vespalib::string, vespalib::datastore::EntryRef>> _wordToRefMaps; std::vector<std::unique_ptr<FieldIndexRemover>> _removers; - FieldIndexRemoverTest() - : _listener(), - _wordStores(), - _wordToRefMaps(), - _removers() - { - uint32_t numFields = 4; - for (uint32_t fieldId = 0; fieldId < numFields; ++fieldId) { - _wordStores.push_back(std::make_unique<WordStore>()); - _removers.push_back(std::make_unique<FieldIndexRemover> - (*_wordStores.back())); - } - _wordToRefMaps.resize(numFields); - } + FieldIndexRemoverTest(); + ~FieldIndexRemoverTest() override; vespalib::datastore::EntryRef getWordRef(const vespalib::string &word, uint32_t fieldId) { auto &wordToRefMap = _wordToRefMaps[fieldId]; WordStore &wordStore = *_wordStores[fieldId]; @@ -110,6 +98,21 @@ struct FieldIndexRemoverTest : public ::testing::Test { } }; +FieldIndexRemoverTest::FieldIndexRemoverTest() + : _listener(), + _wordStores(), + _wordToRefMaps(), + _removers() +{ + uint32_t numFields = 4; + for (uint32_t fieldId = 0; fieldId < numFields; ++fieldId) { + _wordStores.push_back(std::make_unique<WordStore>()); + _removers.push_back(std::make_unique<FieldIndexRemover>(*_wordStores.back())); + } + _wordToRefMaps.resize(numFields); +} +FieldIndexRemoverTest::~FieldIndexRemoverTest() = default; + TEST_F(FieldIndexRemoverTest, word_field_id_pairs_for_multiple_doc_ids_can_be_inserted) { insert("a", 1, 10).insert("a", 1, 20).insert("a", 1, 30); diff --git a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp index 6470d6593cd..2e3e56a123b 100644 --- a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp +++ b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp @@ -161,27 +161,8 @@ struct FieldInverterTest : public ::testing::Test { }; } - FieldInverterTest() - : _b(make_add_fields()), - _schema(SchemaBuilder(_b).add_all_indexes().build()), - _word_store(), - _remover(_word_store), - _inserter_backend(), - _calculators(), - _inserters(), - _inverters() - { - for (uint32_t fieldId = 0; fieldId < _schema.getNumIndexFields(); - ++fieldId) { - _calculators.emplace_back(std::make_unique<FieldLengthCalculator>()); - _inserters.emplace_back(std::make_unique<test::OrderedFieldIndexInserter>(_inserter_backend, fieldId)); - _inverters.push_back(std::make_unique<FieldInverter>(_schema, - fieldId, - _remover, - *_inserters.back(), - *_calculators.back())); - } - } + FieldInverterTest(); + ~FieldInverterTest() override; void invertDocument(uint32_t docId, const Document &doc) { uint32_t fieldId = 0; @@ -213,6 +194,24 @@ struct FieldInverterTest : public ::testing::Test { }; +FieldInverterTest::FieldInverterTest() + : _b(make_add_fields()), + _schema(SchemaBuilder(_b).add_all_indexes().build()), + _word_store(), + _remover(_word_store), + _inserter_backend(), + _calculators(), + _inserters(), + _inverters() +{ + for (uint32_t fieldId = 0; fieldId < _schema.getNumIndexFields(); ++fieldId) { + _calculators.emplace_back(std::make_unique<FieldLengthCalculator>()); + _inserters.emplace_back(std::make_unique<test::OrderedFieldIndexInserter>(_inserter_backend, fieldId)); + _inverters.push_back(std::make_unique<FieldInverter>(_schema, fieldId, _remover, *_inserters.back(), *_calculators.back())); + } +} +FieldInverterTest::~FieldInverterTest() = default; + TEST_F(FieldInverterTest, require_that_fresh_insert_works) { invertDocument(10, *makeDoc10(_b)); diff --git a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp index 69063f38aeb..4f7a7934d4c 100644 --- a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp +++ b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp @@ -55,6 +55,8 @@ using namespace search::queryeval; struct MySetup : public IFieldLengthInspector { std::vector<vespalib::string> fields; std::map<vespalib::string, FieldLengthInfo> field_lengths; + MySetup(); + ~MySetup() override; MySetup &field(const std::string &name) { fields.emplace_back(name); return *this; @@ -84,6 +86,9 @@ struct MySetup : public IFieldLengthInspector { }; +MySetup::MySetup() = default; +MySetup::~MySetup() = default; + //----------------------------------------------------------------------------- struct Index { |