diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-03-10 18:33:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-10 18:33:07 +0100 |
commit | 7ddc151bec7b736db6d3f15f1c32f77d0115784c (patch) | |
tree | 2dafbc776fdd43ecdaf1d67b9fd668e570c33645 /searchlib/src | |
parent | 315c1feec1ac67f97419d910550f4aebfe9290a7 (diff) | |
parent | 88b39d0d00f453b6406fc19b60cb6423af5d2933 (diff) |
Merge branch 'master' into bratseth/autoscaling-completion
Diffstat (limited to 'searchlib/src')
13 files changed, 19 insertions, 37 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/enumattributesaver.cpp index 74a37ca8394..a2090185158 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumattributesaver.cpp +++ b/searchlib/src/vespa/searchlib/attribute/enumattributesaver.cpp @@ -8,16 +8,13 @@ namespace search { -EnumAttributeSaver:: -EnumAttributeSaver(const IEnumStore &enumStore) +EnumAttributeSaver::EnumAttributeSaver(IEnumStore &enumStore) : _enumStore(enumStore), _enumerator(enumStore.make_enumerator()) { } -EnumAttributeSaver::~EnumAttributeSaver() -{ -} +EnumAttributeSaver::~EnumAttributeSaver() = default; void EnumAttributeSaver::writeUdat(IAttributeSaveTarget &saveTarget) diff --git a/searchlib/src/vespa/searchlib/attribute/enumattributesaver.h b/searchlib/src/vespa/searchlib/attribute/enumattributesaver.h index d6dceb4772a..47af8c0452e 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumattributesaver.h +++ b/searchlib/src/vespa/searchlib/attribute/enumattributesaver.h @@ -24,7 +24,7 @@ private: std::unique_ptr<Enumerator> _enumerator; public: - EnumAttributeSaver(const IEnumStore &enumStore); + EnumAttributeSaver(IEnumStore &enumStore); ~EnumAttributeSaver(); void writeUdat(IAttributeSaveTarget &saveTarget); diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h index df3a595ae34..59524f3788a 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumstore.h +++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h @@ -212,7 +212,7 @@ public: void inc_compaction_count() override { _store.get_allocator().get_data_store().inc_compaction_count(); } - std::unique_ptr<Enumerator> make_enumerator() const override; + std::unique_ptr<Enumerator> make_enumerator() override; std::unique_ptr<EntryComparator> allocate_comparator() const override; // Methods below are only relevant for strings, and are templated to only be instantiated on demand. diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp index b863e56fb4a..bc767a296eb 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp +++ b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp @@ -259,7 +259,7 @@ EnumStoreT<EntryT>::consider_compact_dictionary(const CompactionStrategy& compac template <typename EntryT> std::unique_ptr<IEnumStore::Enumerator> -EnumStoreT<EntryT>::make_enumerator() const +EnumStoreT<EntryT>::make_enumerator() { return std::make_unique<Enumerator>(*_dict, _store.get_data_store(), false); } diff --git a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h index 57886511221..2157db3e5ed 100644 --- a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h +++ b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h @@ -72,7 +72,7 @@ public: enumstore::EnumeratedLoader make_enumerated_loader(); enumstore::EnumeratedPostingsLoader make_enumerated_postings_loader(); - virtual std::unique_ptr<Enumerator> make_enumerator() const = 0; + virtual std::unique_ptr<Enumerator> make_enumerator() = 0; virtual std::unique_ptr<vespalib::datastore::EntryComparator> allocate_comparator() const = 0; }; diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp index 083f0409821..87326f3628f 100644 --- a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp @@ -80,7 +80,7 @@ MultiValueEnumAttributeSaver<MultiValueT>:: MultiValueEnumAttributeSaver(GenerationHandler::Guard &&guard, const attribute::AttributeHeader &header, const MultiValueMapping &mvMapping, - const IEnumStore &enumStore) + IEnumStore &enumStore) : Parent(std::move(guard), header, mvMapping), _mvMapping(mvMapping), _enumSaver(enumStore), diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.h b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.h index 44c45567733..7c127ac0781 100644 --- a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.h +++ b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.h @@ -35,7 +35,7 @@ public: MultiValueEnumAttributeSaver(GenerationHandler::Guard &&guard, const attribute::AttributeHeader &header, const MultiValueMapping &mvMapping, - const IEnumStore &enumStore); + IEnumStore &enumStore); ~MultiValueEnumAttributeSaver() override; }; diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.cpp b/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.cpp index 0c3180875a3..a8f13df0a85 100644 --- a/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.cpp +++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.cpp @@ -16,7 +16,7 @@ namespace search::attribute { ReferenceAttributeSaver::ReferenceAttributeSaver(GenerationHandler::Guard &&guard, const AttributeHeader &header, EntryRefVector&& indices, - const Store &store) + Store &store) : AttributeSaver(std::move(guard), header), _indices(std::move(indices)), _store(store), @@ -25,9 +25,7 @@ ReferenceAttributeSaver::ReferenceAttributeSaver(GenerationHandler::Guard &&guar } -ReferenceAttributeSaver::~ReferenceAttributeSaver() -{ -} +ReferenceAttributeSaver::~ReferenceAttributeSaver() = default; namespace { diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.h b/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.h index c413d01c386..fa3fafc3254 100644 --- a/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.h +++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute_saver.h @@ -41,9 +41,9 @@ public: ReferenceAttributeSaver(vespalib::GenerationHandler::Guard &&guard, const AttributeHeader &header, EntryRefVector&& indices, - const Store &store); + Store &store); - virtual ~ReferenceAttributeSaver(); + ~ReferenceAttributeSaver() override; }; } diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp index 1857e942136..1f3f3e104d1 100644 --- a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp +++ b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp @@ -4,7 +4,6 @@ #include "iattributesavetarget.h" #include <vespa/searchlib/util/bufferwriter.h> - using search::attribute::EntryRefVector; using vespalib::GenerationHandler; @@ -14,25 +13,20 @@ SingleValueEnumAttributeSaver:: SingleValueEnumAttributeSaver(GenerationHandler::Guard &&guard, const attribute::AttributeHeader &header, EntryRefVector &&indices, - const IEnumStore &enumStore) + IEnumStore &enumStore) : AttributeSaver(std::move(guard), header), _indices(std::move(indices)), _enumSaver(enumStore) { } - -SingleValueEnumAttributeSaver::~SingleValueEnumAttributeSaver() -{ -} - +SingleValueEnumAttributeSaver::~SingleValueEnumAttributeSaver() = default; bool SingleValueEnumAttributeSaver::onSave(IAttributeSaveTarget &saveTarget) { _enumSaver.writeUdat(saveTarget); - std::unique_ptr<search::BufferWriter> datWriter(saveTarget.datWriter(). - allocBufferWriter()); + std::unique_ptr<search::BufferWriter> datWriter(saveTarget.datWriter().allocBufferWriter()); assert(saveTarget.getEnumerated()); auto &enumerator = _enumSaver.get_enumerator(); enumerator.enumerateValues(); @@ -49,5 +43,4 @@ SingleValueEnumAttributeSaver::onSave(IAttributeSaveTarget &saveTarget) return true; } - } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.h b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.h index af83d36cbbb..7f1c62c7720 100644 --- a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.h +++ b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.h @@ -22,7 +22,7 @@ public: SingleValueEnumAttributeSaver(vespalib::GenerationHandler::Guard &&guard, const attribute::AttributeHeader &header, attribute::EntryRefVector &&indices, - const IEnumStore &enumStore); + IEnumStore &enumStore); ~SingleValueEnumAttributeSaver() override; }; diff --git a/searchlib/src/vespa/searchlib/bitcompression/compression.h b/searchlib/src/vespa/searchlib/bitcompression/compression.h index 7c5ba3e94ca..a77d82d9e8f 100644 --- a/searchlib/src/vespa/searchlib/bitcompression/compression.h +++ b/searchlib/src/vespa/searchlib/bitcompression/compression.h @@ -1248,9 +1248,7 @@ public: void setReadContext(search::ComprFileReadContext *readContext) { _readContext = readContext; } - search::ComprFileReadContext *getReadContext() const { - return _readContext; - } + void readComprBuffer() { _readContext->readComprBuffer(); } diff --git a/searchlib/src/vespa/searchlib/memoryindex/feature_store.h b/searchlib/src/vespa/searchlib/memoryindex/feature_store.h index 5f5e782a382..53588fa2894 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/feature_store.h +++ b/searchlib/src/vespa/searchlib/memoryindex/feature_store.h @@ -154,12 +154,8 @@ public: void setupForReadFeatures(vespalib::datastore::EntryRef ref, DecodeContextCooked &decoder) const { const uint8_t * bits = getBits(ref); decoder.setByteCompr(bits); - uint32_t bufferId = RefType(ref).bufferId(); - const vespalib::datastore::BufferState &state = _store.getBufferState(bufferId); - decoder.setEnd( - ((_store.getEntryArray<uint8_t>(RefType(0, bufferId), buffer_array_size) + state.size() - - bits) + 7) / 8, - false); + constexpr uint32_t maxOffset = RefType::offsetSize() * buffer_array_size; + decoder.setEnd(maxOffset, false); } /** |