aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-11-04 14:06:52 +0100
committerGitHub <noreply@github.com>2023-11-04 14:06:52 +0100
commit5c8dd8aab763d8ea282e69456faf779e3a1fb8fe (patch)
tree09eb38f8ad732bc2784efa20229957b5d9f8c928 /searchlib/src
parent8b1e7b15e11c0422a3b93bdc04c36e6e714461e9 (diff)
Revert "No need to specify your own namespace."
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumcomparator.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumcomparator.h15
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.h9
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.hpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/attribute/reference_attribute.h11
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp42
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h6
8 files changed, 45 insertions, 47 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/enumcomparator.cpp b/searchlib/src/vespa/searchlib/attribute/enumcomparator.cpp
index 6cb805d701b..1a1e18a6eae 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumcomparator.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumcomparator.cpp
@@ -40,7 +40,7 @@ EnumStoreStringComparator::EnumStoreStringComparator(const DataStoreType& data_s
}
bool
-EnumStoreStringComparator::less(vespalib::datastore::EntryRef lhs, vespalib::datastore::EntryRef rhs) const {
+EnumStoreStringComparator::less(const vespalib::datastore::EntryRef lhs, const vespalib::datastore::EntryRef rhs) const {
switch (_compare_strategy) {
case CompareStrategy::UNCASED:
return (use_prefix()
diff --git a/searchlib/src/vespa/searchlib/attribute/enumcomparator.h b/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
index 59dbb3a8cc3..cfff8d286a5 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
@@ -18,7 +18,7 @@ public:
using ParentType = vespalib::datastore::UniqueStoreComparator<EntryT, IEnumStore::InternalIndex>;
using DataStoreType = typename ParentType::DataStoreType;
- explicit EnumStoreComparator(const DataStoreType& data_store)
+ EnumStoreComparator(const DataStoreType& data_store)
: ParentType(data_store)
{}
@@ -34,7 +34,7 @@ public:
return *this;
}
EnumStoreComparator<EntryT> make_for_lookup(const EntryT& lookup_value) const {
- return {this->_store, lookup_value};
+ return EnumStoreComparator<EntryT>(this->_store, lookup_value);
}
};
@@ -76,9 +76,6 @@ private:
};
public:
- explicit EnumStoreStringComparator(const DataStoreType& data_store)
- : EnumStoreStringComparator(data_store, CompareStrategy::UNCASED_THEN_CASED)
- {}
EnumStoreStringComparator(const DataStoreType& data_store, bool cased)
: EnumStoreStringComparator(data_store, cased ? CompareStrategy::CASED : CompareStrategy::UNCASED_THEN_CASED)
{}
@@ -94,15 +91,15 @@ private:
EnumStoreStringComparator(const DataStoreType& data_store, CompareStrategy compare_strategy, const char* lookup_value, bool prefix);
public:
- bool less(vespalib::datastore::EntryRef lhs, vespalib::datastore::EntryRef rhs) const override;
+ bool less(const vespalib::datastore::EntryRef lhs, const vespalib::datastore::EntryRef rhs) const override;
EnumStoreStringComparator make_folded() const {
- return {_store, _compare_strategy == CompareStrategy::UNCASED_THEN_CASED ? CompareStrategy::UNCASED : _compare_strategy};
+ return EnumStoreStringComparator(_store, _compare_strategy == CompareStrategy::UNCASED_THEN_CASED ? CompareStrategy::UNCASED : _compare_strategy);
}
EnumStoreStringComparator make_for_lookup(const char* lookup_value) const {
- return {_store, _compare_strategy, lookup_value};
+ return EnumStoreStringComparator(_store, _compare_strategy, lookup_value);
}
EnumStoreStringComparator make_for_prefix_lookup(const char* lookup_value) const {
- return {_store, _compare_strategy, lookup_value, true};
+ return EnumStoreStringComparator(_store, _compare_strategy, lookup_value, true);
}
private:
inline bool use_prefix() const noexcept { return _prefix; }
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h
index 3489afdd3f8..d63274c95fe 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h
@@ -35,7 +35,7 @@ namespace search {
* It has special handling of type 'const char *' for strings.
*/
template <class EntryT>
-class EnumStoreT final : public IEnumStore {
+class EnumStoreT : public IEnumStore {
public:
using EntryType = EntryT;
static constexpr bool has_string_type = std::is_same_v<EntryType, const char *>;
@@ -61,6 +61,9 @@ private:
EntryType _default_value;
AtomicIndex _default_value_ref;
+ EnumStoreT(const EnumStoreT & rhs) = delete;
+ EnumStoreT & operator=(const EnumStoreT & rhs) = delete;
+
void free_value_if_unused(Index idx, IndexList &unused) override;
const vespalib::datastore::UniqueStoreEntryBase& get_entry_base(Index idx) const {
@@ -73,8 +76,6 @@ private:
std::unique_ptr<EntryComparator> allocate_optionally_folded_comparator(bool folded) const;
ComparatorType make_optionally_folded_comparator(bool folded) const;
public:
- EnumStoreT(const EnumStoreT & rhs) = delete;
- EnumStoreT & operator=(const EnumStoreT & rhs) = delete;
EnumStoreT(bool has_postings, const search::DictionaryConfig& dict_cfg, std::shared_ptr<vespalib::alloc::MemoryAllocator> memory_allocator, EntryType default_value);
EnumStoreT(bool has_postings, const search::DictionaryConfig & dict_cfg);
~EnumStoreT() override;
@@ -158,7 +159,7 @@ public:
IndexList _possibly_unused;
public:
- explicit BatchUpdater(EnumStoreType& store)
+ BatchUpdater(EnumStoreType& store)
: _store(store),
_possibly_unused()
{}
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
index 210d0e4e052..3f15f64d191 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
@@ -102,7 +102,7 @@ EnumStoreT<EntryT>::EnumStoreT(bool has_postings, const DictionaryConfig& dict_c
template <typename EntryT>
EnumStoreT<EntryT>::EnumStoreT(bool has_postings, const DictionaryConfig& dict_cfg)
- : EnumStoreT(has_postings, dict_cfg, {}, attribute::getUndefined<EntryType>())
+ : EnumStoreT<EntryT>(has_postings, dict_cfg, {}, attribute::getUndefined<EntryType>())
{
}
@@ -270,7 +270,7 @@ EnumStoreT<EntryT>::consider_compact_values(const CompactionStrategy& compaction
if (!_store.get_data_store().has_held_buffers() && _compaction_spec.get_values().compact()) {
return compact_worst_values(_compaction_spec.get_values(), compaction_strategy);
}
- return {};
+ return std::unique_ptr<IEnumStore::EnumIndexRemapper>();
}
template <typename EntryT>
diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
index cb196e9a54e..57513586908 100644
--- a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
@@ -234,8 +234,9 @@ ReferenceAttribute::onLoad(vespalib::Executor *)
setCreateSerialNum(attrReader.getCreateSerialNum());
assert(attrReader.getEnumerated());
assert(!attrReader.hasIdx());
+ size_t numDocs(0);
uint64_t numValues = attrReader.getEnumCount();
- size_t numDocs = numValues;
+ numDocs = numValues;
auto udatBuffer = attribute::LoadUtils::loadUDAT(*this);
const GenericHeader &header = udatBuffer->getHeader();
uint32_t uniqueValueCount = extractUniqueValueCount(header);
diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute.h b/searchlib/src/vespa/searchlib/attribute/reference_attribute.h
index 7b36f975c7e..e2c2db319d0 100644
--- a/searchlib/src/vespa/searchlib/attribute/reference_attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute.h
@@ -33,12 +33,11 @@ public:
using ReferenceStore = vespalib::datastore::UniqueStore<Reference>;
using ReferenceStoreIndices = vespalib::RcuVectorBase<AtomicEntryRef>;
// Class used to map from target lid to source lids
- using ReverseMapping = vespalib::btree::BTreeStore<uint32_t,
- vespalib::btree::BTreeNoLeafData,
- vespalib::btree::NoAggregated,
- std::less<uint32_t>,
- vespalib::btree::BTreeDefaultTraits,
- vespalib::btree::NoAggrCalc>;
+ using ReverseMapping = vespalib::btree::BTreeStore<uint32_t, vespalib::btree::BTreeNoLeafData,
+ vespalib::btree::NoAggregated,
+ std::less<uint32_t>,
+ vespalib::btree::BTreeDefaultTraits,
+ vespalib::btree::NoAggrCalc>;
using TargetLids = ReferenceMappings::TargetLids;
// Class used to map from target lid to source lids
using ReverseMappingRefs = ReferenceMappings::ReverseMappingRefs;
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
index d1a2c26a75d..845622a68a6 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
@@ -3,33 +3,13 @@
#include "stackdumpiterator.h"
#include <vespa/vespalib/util/compress.h>
#include <vespa/vespalib/objects/nbo.h>
+#include <cassert>
+#include <charconv>
using search::query::PredicateQueryTerm;
namespace search {
-namespace {
-
-uint64_t
-readUint64(const char *&p)
-{
- uint64_t value;
- memcpy(&value, p, sizeof(value));
- p += sizeof(value);
- return vespalib::nbo::n2h(value);
-}
-
-double
-read_double(const char *&p)
-{
- double value;
- memcpy(&value, p, sizeof(value));
- p += sizeof(value);
- return vespalib::nbo::n2h(value);
-}
-
-}
-
SimpleQueryStackDumpIterator::SimpleQueryStackDumpIterator(vespalib::stringref buf)
: _buf(buf.begin()),
_bufEnd(buf.end()),
@@ -66,6 +46,24 @@ SimpleQueryStackDumpIterator::read_stringref(const char *&p)
}
uint64_t
+SimpleQueryStackDumpIterator::readUint64(const char *&p)
+{
+ uint64_t value;
+ memcpy(&value, p, sizeof(value));
+ p += sizeof(value);
+ return vespalib::nbo::n2h(value);
+}
+
+double
+SimpleQueryStackDumpIterator::read_double(const char *&p)
+{
+ double value;
+ memcpy(&value, p, sizeof(value));
+ p += sizeof(value);
+ return vespalib::nbo::n2h(value);
+}
+
+uint64_t
SimpleQueryStackDumpIterator::readCompressedPositiveInt(const char *&p)
{
uint64_t tmp;
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
index dece4ecc0b6..2f862de46fe 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
@@ -48,6 +48,8 @@ private:
query::PredicateQueryTerm::UP _predicate_query_term;
VESPA_DLL_LOCAL vespalib::stringref read_stringref(const char *&p);
+ VESPA_DLL_LOCAL uint64_t readUint64(const char *&p);
+ VESPA_DLL_LOCAL double read_double(const char *&p);
VESPA_DLL_LOCAL uint64_t readCompressedPositiveInt(const char *&p);
VESPA_DLL_LOCAL bool readPredicate(const char *&p);
VESPA_DLL_LOCAL bool readNN(const char *&p);
@@ -58,12 +60,12 @@ public:
/**
* Make an iterator on a buffer. To get the first item, next must be called.
*/
- explicit SimpleQueryStackDumpIterator(vespalib::stringref buf);
+ SimpleQueryStackDumpIterator(vespalib::stringref buf);
SimpleQueryStackDumpIterator(const SimpleQueryStackDumpIterator &) = delete;
SimpleQueryStackDumpIterator& operator=(const SimpleQueryStackDumpIterator &) = delete;
~SimpleQueryStackDumpIterator();
- vespalib::stringref getStack() const noexcept { return vespalib::stringref(_buf, _bufEnd - _buf); }
+ vespalib::stringref getStack() const { return vespalib::stringref(_buf, _bufEnd - _buf); }
size_t getPosition() const { return _currPos; }
/**