aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2017-04-24 12:10:42 +0200
committerGitHub <noreply@github.com>2017-04-24 12:10:42 +0200
commit9ff4bdb407ed8d855a3f86a17c99906ff738177b (patch)
treefc2b050224d7dde92d57e1f9cac12c1e5aaf6b90 /searchlib
parent32ae190acc9ac5081049e1c7008d1602c68cf821 (diff)
Revert "Balder/enforce override 2"
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/createarraystd.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/createsetstd.cpp15
-rw-r--r--searchlib/src/vespa/searchlib/attribute/createsinglefastsearch.cpp25
-rw-r--r--searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.h21
-rw-r--r--searchlib/src/vespa/searchlib/attribute/flagattribute.h3
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericattribute.h1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multivalueattribute.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/numericbase.h12
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singleenumattribute.h8
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h29
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp3
-rw-r--r--searchlib/src/vespa/searchlib/features/dotproductfeature.h4
-rw-r--r--searchlib/src/vespa/searchlib/features/raw_score_feature.h30
-rw-r--r--searchlib/src/vespa/searchlib/features/reverseproximityfeature.h44
-rw-r--r--searchlib/src/vespa/searchlib/features/subqueries_feature.h32
-rw-r--r--searchlib/src/vespa/searchlib/features/tensor_from_attribute_executor.h2
-rw-r--r--searchlib/src/vespa/searchlib/features/term_field_md_feature.h35
-rw-r--r--searchlib/src/vespa/searchlib/features/termdistancefeature.h35
-rw-r--r--searchlib/src/vespa/searchlib/features/termeditdistancefeature.h37
-rw-r--r--searchlib/src/vespa/searchlib/features/termfeature.h44
-rw-r--r--searchlib/src/vespa/searchlib/features/terminfofeature.h18
-rw-r--r--searchlib/src/vespa/searchlib/features/text_similarity_feature.h36
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/create_blueprint_visitor_helper.h44
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/fake_search.h9
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp18
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/fake_searchable.h9
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/get_weight_from_node.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/monitoring_search_iterator.h19
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/nearsearch.h14
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/orlikesearch.h11
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/orsearch.h4
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h7
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/simplesearch.h8
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/termasstring.cpp45
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.h2
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.h84
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.h56
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.h181
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.h57
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp91
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h84
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h4
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/nosyncproxy.h18
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogclient.h8
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.h6
-rw-r--r--searchlib/src/vespa/searchlib/util/rand48.h8
52 files changed, 861 insertions, 414 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/createarraystd.cpp b/searchlib/src/vespa/searchlib/attribute/createarraystd.cpp
index a9b2a50cac3..29ea819f71d 100644
--- a/searchlib/src/vespa/searchlib/attribute/createarraystd.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/createarraystd.cpp
@@ -2,10 +2,14 @@
#include "attributefactory.h"
#include "defines.h"
+
#include "attributevector.hpp"
#include "multivalueattribute.hpp"
#include "multinumericattribute.hpp"
-#include "multistringattribute.hpp"
+#include "multistringattribute.h"
+
+#include <vespa/log/log.h>
+LOG_SETUP(".createarraystd");
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/createsetstd.cpp b/searchlib/src/vespa/searchlib/attribute/createsetstd.cpp
index 262ec2c23df..5aa40a20d14 100644
--- a/searchlib/src/vespa/searchlib/attribute/createsetstd.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/createsetstd.cpp
@@ -1,11 +1,16 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributefactory.h"
+#include <vespa/fastos/fastos.h>
+#include <vespa/searchlib/attribute/attributefactory.h>
#include "defines.h"
-#include "attributevector.hpp"
-#include "multivalueattribute.hpp"
-#include "multinumericattribute.hpp"
-#include "multistringattribute.hpp"
+
+#include <vespa/log/log.h>
+LOG_SETUP(".createsetstd");
+
+#include <vespa/searchlib/attribute/attributevector.hpp>
+#include <vespa/searchlib/attribute/multivalueattribute.hpp>
+#include <vespa/searchlib/attribute/multinumericattribute.hpp>
+#include <vespa/searchlib/attribute/multistringattribute.h>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/createsinglefastsearch.cpp b/searchlib/src/vespa/searchlib/attribute/createsinglefastsearch.cpp
index ad08e20808a..02890eb8789 100644
--- a/searchlib/src/vespa/searchlib/attribute/createsinglefastsearch.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/createsinglefastsearch.cpp
@@ -1,16 +1,21 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributefactory.h"
-#include "integerbase.h"
-#include "floatbase.h"
+#include <vespa/fastos/fastos.h>
+#include <vespa/searchlib/attribute/attributefactory.h>
+#include <vespa/searchlib/attribute/integerbase.h>
+#include <vespa/searchlib/attribute/floatbase.h>
#include "defines.h"
-#include "singlestringattribute.h"
-#include "singlestringpostattribute.hpp"
-#include "singlenumericenumattribute.hpp"
-#include "singlenumericpostattribute.hpp"
-#include "enumstore.hpp"
-#include "enumattribute.hpp"
-#include "singleenumattribute.hpp"
+
+#include <vespa/log/log.h>
+LOG_SETUP(".createsinglefastsearch");
+
+#include <vespa/searchlib/attribute/singlestringattribute.h>
+#include <vespa/searchlib/attribute/singlestringpostattribute.hpp>
+#include <vespa/searchlib/attribute/singlenumericenumattribute.hpp>
+#include <vespa/searchlib/attribute/singlenumericpostattribute.hpp>
+#include <vespa/searchlib/attribute/enumstore.hpp>
+#include <vespa/searchlib/attribute/enumattribute.hpp>
+#include <vespa/searchlib/attribute/singleenumattribute.hpp>
#define INTPOSTING(T) SingleValueNumericPostingAttribute< ENUM_ATTRIBUTE(IntegerAttributeTemplate<T>) >
#define FLOATPOSTING(T) SingleValueNumericPostingAttribute< ENUM_ATTRIBUTE(FloatingPointAttributeTemplate<T>) >
diff --git a/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp b/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp
index c3a126631e6..766195c8e9c 100644
--- a/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp
@@ -1,12 +1,17 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributefactory.h"
+#include <vespa/fastos/fastos.h>
+#include <vespa/searchlib/attribute/attributefactory.h>
+
+#include <vespa/log/log.h>
+LOG_SETUP(".createsinglestd");
+
#include "predicate_attribute.h"
#include "singlesmallnumericattribute.h"
#include "reference_attribute.h"
-#include "attributevector.hpp"
-#include "singlenumericattribute.hpp"
-#include "singlestringattribute.h"
+#include <vespa/searchlib/attribute/attributevector.hpp>
+#include <vespa/searchlib/attribute/singlenumericattribute.hpp>
+#include <vespa/searchlib/attribute/singlestringattribute.h>
#include <vespa/searchlib/tensor/generic_tensor_attribute.h>
#include <vespa/searchlib/tensor/dense_tensor_attribute.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.h b/searchlib/src/vespa/searchlib/attribute/enumattribute.h
index ca5058c71d3..94e5da62967 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.h
@@ -2,9 +2,9 @@
#pragma once
+#include <vespa/searchlib/attribute/enumstore.h>
#include "attributevector.h"
#include "loadedenumvalue.h"
-#include <vespa/searchlib/attribute/enumstore.h>
#include <set>
namespace search {
@@ -61,10 +61,18 @@ protected:
virtual EnumType getFromEnum(EnumHandle e) const { return _enumStore.getValue(e); }
virtual void fillPostings(LoadedVector & loaded) { (void) loaded; }
- void fillEnum(LoadedVector & loaded) override;
- void fillEnum0(const void *src, size_t srcLen, EnumIndexVector &eidxs) override;
- void fixupEnumRefCounts(const EnumVector &enumHist) override;
- uint64_t getUniqueValueCount(void) const override;
+ virtual void fillEnum(LoadedVector & loaded) override;
+
+ virtual void
+ fillEnum0(const void *src,
+ size_t srcLen,
+ EnumIndexVector &eidxs) override;
+
+ virtual void
+ fixupEnumRefCounts(const EnumVector &enumHist) override;
+
+ virtual uint64_t
+ getUniqueValueCount(void) const override;
static EnumType getDefaultEnumTypeValue() { return B::defaultValue(); }
@@ -82,8 +90,9 @@ public:
EnumAttribute(const vespalib::string & baseFileName,
const AttributeVector::Config & cfg);
- ~EnumAttribute();
+ virtual ~EnumAttribute();
virtual bool findEnum(EnumType v, EnumHandle & e) const { return _enumStore.findEnum(v, e); }
};
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/attribute/flagattribute.h b/searchlib/src/vespa/searchlib/attribute/flagattribute.h
index 3fe2424b97d..ea73ecb7c51 100644
--- a/searchlib/src/vespa/searchlib/attribute/flagattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/flagattribute.h
@@ -40,7 +40,8 @@ public:
void setNewBVValue(DocId doc, typename B::WType::ValueType value);
private:
- bool onAddDoc(DocId doc) override;
+ virtual bool onAddDoc(DocId doc) override;
+
void onAddDocs(DocId docIdLimit) override;
void ensureGuardBit(BitVector & bv);
void ensureGuardBit();
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
index 01d9efe0cbc..6afede8d3b4 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.h
@@ -256,3 +256,4 @@ public:
};
}
+
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
index 79a2d2001b6..737f464206e 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
@@ -1,8 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
#include "multistringattribute.h"
-#include <vespa/searchlib/query/queryterm.h>
+#include "multistringattribute.hpp"
+#include <vespa/log/log.h>
+LOG_SETUP(".searchlib.attribute.multistringattribute");
namespace search {
template class MultiValueStringAttributeT<EnumAttribute<StringAttribute>, multivalue::Value<EnumStoreBase::Index> >;
diff --git a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.h b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.h
index e02a81e44ef..12b1098bbb3 100644
--- a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.h
@@ -3,6 +3,7 @@
#pragma once
#include "multi_value_mapping.h"
+#include <vespa/vespalib/stllike/string.h>
#include "attributevector.h"
namespace search {
@@ -47,7 +48,7 @@ protected:
* Can be overridden by subclasses that need to resize structures as a result of this.
* Should return true if underlying structures were resized.
**/
- bool onAddDoc(DocId doc) override { (void) doc; return false; }
+ virtual bool onAddDoc(DocId doc) override { (void) doc; return false; }
AddressSpace getMultiValueAddressSpaceUsage() const override;
@@ -73,3 +74,4 @@ public:
};
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/attribute/numericbase.h b/searchlib/src/vespa/searchlib/attribute/numericbase.h
index ee6effa810a..94bc5c1472d 100644
--- a/searchlib/src/vespa/searchlib/attribute/numericbase.h
+++ b/searchlib/src/vespa/searchlib/attribute/numericbase.h
@@ -3,9 +3,9 @@
#pragma once
#include "attributevector.h"
-#include "enumstorebase.h"
-#include "loadedenumvalue.h"
#include <vespa/searchlib/common/sort.h>
+#include <vespa/searchlib/attribute/enumstorebase.h>
+#include "loadedenumvalue.h"
namespace search {
@@ -28,7 +28,6 @@ protected:
virtual void fillEnumIdx(ReaderBase &attrReader, const EnumIndexVector &eidxs, EnumVector &enumHist);
virtual void fillPostingsFixupEnum(const attribute::LoadedEnumAttributeVector &loaded);
virtual void fixupEnumRefCounts(const EnumVector &enumHist);
- bool onAddDoc(DocId) override { return true; }
template<typename T>
class Equal
@@ -58,7 +57,8 @@ protected:
protected:
Range(const QueryTermSimple & queryTerm, bool avoidUndefinedInRange=false);
Int64Range getRange() const {
- return Int64Range(static_cast<int64_t>(_low), static_cast<int64_t>(_high));
+ return Int64Range(static_cast<int64_t>(_low),
+ static_cast<int64_t>(_high));
}
bool isValid() const { return _valid; }
bool match(T v) const { return (_low <= v) && (v <= _high); }
@@ -75,7 +75,8 @@ protected:
BaseType numMin = std::numeric_limits<BaseType>::min();
BaseType numMax = std::numeric_limits<BaseType>::max();
- if (isFloat) {
+ if (isFloat)
+ {
if (_low <= (-numMax)) {
low = -numMax;
}
@@ -101,3 +102,4 @@ public:
};
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.h b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.h
index a835aa85896..1843bde4d54 100644
--- a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.h
@@ -2,7 +2,7 @@
#pragma once
-#include "enumattribute.h"
+#include <vespa/searchlib/attribute/enumattribute.h>
#include <vespa/searchlib/common/rcuvector.h>
namespace search {
@@ -83,8 +83,7 @@ protected:
}
virtual void mergeMemoryStats(MemoryUsage & total) { (void) total; }
-
- void fillValues(LoadedVector & loaded) override;
+ virtual void fillValues(LoadedVector & loaded) override;
void fillEnumIdx(ReaderBase &attrReader,
const EnumStoreBase::IndexVector &eidxs,
@@ -102,7 +101,7 @@ protected:
*
* Should return true if underlying structures were resized.
**/
- bool onAddDoc(DocId doc) override;
+ virtual bool onAddDoc(DocId doc) override;
public:
SingleValueEnumAttribute(const vespalib::string & baseFileName, const AttributeVector::Config & cfg);
@@ -137,3 +136,4 @@ public:
};
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp
index 4b19f8d1af0..c798351211a 100644
--- a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp
@@ -2,8 +2,8 @@
#pragma once
-#include "singleenumattribute.h"
-#include "enumattribute.hpp"
+#include <vespa/searchlib/attribute/singleenumattribute.h>
+#include <vespa/searchlib/attribute/enumattribute.hpp>
#include "ipostinglistattributebase.h"
#include "singleenumattributesaver.h"
#include "load_utils.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
index 369fbf77f0b..828c1434819 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.h
@@ -46,9 +46,9 @@ private:
protected:
// from SingleValueEnumAttribute
- void considerUpdateAttributeChange(const Change & c) override;
- void considerArithmeticAttributeChange(const Change & c, UniqueSet & newUniques) override;
- void applyArithmeticValueChange(const Change & c, EnumStoreBase::IndexVector & unused) override;
+ virtual void considerUpdateAttributeChange(const Change & c);
+ virtual void considerArithmeticAttributeChange(const Change & c, UniqueSet & newUniques);
+ virtual void applyArithmeticValueChange(const Change & c, EnumStoreBase::IndexVector & unused);
/*
* Specialization of SearchContext
@@ -92,10 +92,9 @@ public:
const AttributeVector::Config & c =
AttributeVector::Config(AttributeVector::BasicType::fromType(T()),
attribute::CollectionType::SINGLE));
- ~SingleValueNumericEnumAttribute();
- void onCommit() override;
- bool onLoad() override;
+ virtual void onCommit();
+ virtual bool onLoad();
bool onLoadEnumerated(ReaderBase &attrReader);
@@ -105,46 +104,46 @@ public:
//-------------------------------------------------------------------------
// Attribute read API
//-------------------------------------------------------------------------
- T get(DocId doc) const override {
+ virtual T get(DocId doc) const {
return this->_enumStore.getValue(this->_enumIndices[doc]);
}
- largeint_t getInt(DocId doc) const override {
+ virtual largeint_t getInt(DocId doc) const {
return static_cast<largeint_t>(get(doc));
}
- double getFloat(DocId doc) const override {
+ virtual double getFloat(DocId doc) const {
return static_cast<double>(get(doc));
}
- uint32_t getAll(DocId doc, T * v, uint32_t sz) const override {
+ virtual uint32_t getAll(DocId doc, T * v, uint32_t sz) const {
if (sz > 0) {
v[0] = get(doc);
}
return 1;
}
- uint32_t get(DocId doc, largeint_t * v, uint32_t sz) const override {
+ virtual uint32_t get(DocId doc, largeint_t * v, uint32_t sz) const {
if (sz > 0) {
v[0] = getInt(doc);
}
return 1;
}
- uint32_t get(DocId doc, double * v, uint32_t sz) const override {
+ virtual uint32_t get(DocId doc, double * v, uint32_t sz) const {
if (sz > 0) {
v[0] = getFloat(doc);
}
return 1;
}
- uint32_t getAll(DocId doc, Weighted * v, uint32_t sz) const override {
+ virtual uint32_t getAll(DocId doc, Weighted * v, uint32_t sz) const {
if (sz > 0) {
v[0] = Weighted(get(doc));
}
return 1;
}
- uint32_t get(DocId doc, WeightedInt * v, uint32_t sz) const override {
+ virtual uint32_t get(DocId doc, WeightedInt * v, uint32_t sz) const {
if (sz > 0) {
v[0] = WeightedInt(getInt(doc));
}
return 1;
}
- uint32_t get(DocId doc, WeightedFloat * v, uint32_t sz) const override {
+ virtual uint32_t get(DocId doc, WeightedFloat * v, uint32_t sz) const {
if (sz > 0) {
v[0] = WeightedFloat(getFloat(doc));
}
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
index 698bdbf82d4..fbf56440a08 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
@@ -64,9 +64,6 @@ SingleValueNumericEnumAttribute(const vespalib::string & baseFileName,
}
template <typename B>
-SingleValueNumericEnumAttribute<B>::~SingleValueNumericEnumAttribute() {}
-
-template <typename B>
void
SingleValueNumericEnumAttribute<B>::onCommit()
{
diff --git a/searchlib/src/vespa/searchlib/features/dotproductfeature.h b/searchlib/src/vespa/searchlib/features/dotproductfeature.h
index b94d1717ed1..4a30c0ecb1b 100644
--- a/searchlib/src/vespa/searchlib/features/dotproductfeature.h
+++ b/searchlib/src/vespa/searchlib/features/dotproductfeature.h
@@ -156,8 +156,8 @@ public:
protected:
const A * _attribute;
private:
- size_t getAttributeValues(uint32_t docid, const AT * & count) override;
- public:
+ virtual size_t getAttributeValues(uint32_t docid, const AT * & count) override;
+public:
DotProductExecutor(const A * attribute, const V & queryVector);
~DotProductExecutor();
};
diff --git a/searchlib/src/vespa/searchlib/features/raw_score_feature.h b/searchlib/src/vespa/searchlib/features/raw_score_feature.h
index 2e37c43c8f7..ddae8848052 100644
--- a/searchlib/src/vespa/searchlib/features/raw_score_feature.h
+++ b/searchlib/src/vespa/searchlib/features/raw_score_feature.h
@@ -8,37 +8,39 @@
namespace search {
namespace features {
-class RawScoreExecutor : public fef::FeatureExecutor
+class RawScoreExecutor : public search::fef::FeatureExecutor
{
private:
- std::vector<fef::TermFieldHandle> _handles;
+ std::vector<search::fef::TermFieldHandle> _handles;
const fef::MatchData *_md;
- void handle_bind_match_data(fef::MatchData &md) override;
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
public:
- RawScoreExecutor(const fef::IQueryEnvironment &env, uint32_t fieldId);
- void execute(uint32_t docId) override;
+ RawScoreExecutor(const search::fef::IQueryEnvironment &env, uint32_t fieldId);
+ virtual void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class RawScoreBlueprint : public fef::Blueprint
+class RawScoreBlueprint : public search::fef::Blueprint
{
private:
- const fef::FieldInfo *_field;
+ const search::fef::FieldInfo *_field;
public:
RawScoreBlueprint() : Blueprint("rawScore"), _field(0) {}
- void visitDumpFeatures(const fef::IIndexEnvironment &,
- fef::IDumpFeatureVisitor &) const override {}
- fef::Blueprint::UP createInstance() const override {
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &,
+ search::fef::IDumpFeatureVisitor &) const override {}
+ virtual search::fef::Blueprint::UP createInstance() const override {
return Blueprint::UP(new RawScoreBlueprint());
}
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().field();
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().field();
}
- bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ virtual bool setup(const search::fef::IIndexEnvironment &env,
+ const search::fef::ParameterList &params) override;
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/features/reverseproximityfeature.h b/searchlib/src/vespa/searchlib/features/reverseproximityfeature.h
index 020cc25a2f9..7dad54e65d5 100644
--- a/searchlib/src/vespa/searchlib/features/reverseproximityfeature.h
+++ b/searchlib/src/vespa/searchlib/features/reverseproximityfeature.h
@@ -1,6 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include <string>
+#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -21,7 +23,7 @@ struct ReverseProximityConfig {
/**
* Implements the executor for reverse proximity.
*/
-class ReverseProximityExecutor : public fef::FeatureExecutor {
+class ReverseProximityExecutor : public search::fef::FeatureExecutor {
public:
/**
* Constructs an executor for reverse proximity.
@@ -29,32 +31,48 @@ public:
* @param env The query environment.
* @param config The completeness config.
*/
- ReverseProximityExecutor(const fef::IQueryEnvironment &env,
+ ReverseProximityExecutor(const search::fef::IQueryEnvironment &env,
const ReverseProximityConfig &config);
- void execute(uint32_t docId) override;
+ virtual void execute(uint32_t docId) override;
private:
const ReverseProximityConfig &_config; // The proximity config.
- fef::TermFieldHandle _termA; // Handle to the first query term.
- fef::TermFieldHandle _termB; // Handle to the second query term.
+ search::fef::TermFieldHandle _termA; // Handle to the first query term.
+ search::fef::TermFieldHandle _termB; // Handle to the second query term.
const fef::MatchData *_md;
- void handle_bind_match_data(fef::MatchData &md) override;
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
};
/**
* Implements the blueprint for proximity.
*/
-class ReverseProximityBlueprint : public fef::Blueprint {
+class ReverseProximityBlueprint : public search::fef::Blueprint {
public:
+ /**
+ * Constructs a blueprint for reverse proximity.
+ */
ReverseProximityBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY).number().number();
+
+ // Inherit doc from Blueprint.
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
+ search::fef::IDumpFeatureVisitor &visitor) const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::Blueprint::UP createInstance() const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY).number().number();
}
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
+ // Inherit doc from Blueprint.
+ virtual bool setup(const search::fef::IIndexEnvironment & env,
+ const search::fef::ParameterList & params) override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
private:
ReverseProximityConfig _config;
};
diff --git a/searchlib/src/vespa/searchlib/features/subqueries_feature.h b/searchlib/src/vespa/searchlib/features/subqueries_feature.h
index 0c882a9b24a..217548b3e96 100644
--- a/searchlib/src/vespa/searchlib/features/subqueries_feature.h
+++ b/searchlib/src/vespa/searchlib/features/subqueries_feature.h
@@ -8,33 +8,37 @@
namespace search {
namespace features {
-class SubqueriesExecutor : public fef::FeatureExecutor {
- std::vector<fef::TermFieldHandle> _handles;
- const fef::MatchData *_md;
+class SubqueriesExecutor : public search::fef::FeatureExecutor {
+ std::vector<search::fef::TermFieldHandle> _handles;
+ const fef::MatchData *_md;
+
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
- void handle_bind_match_data(fef::MatchData &md) override;
public:
- SubqueriesExecutor(const fef::IQueryEnvironment &env, uint32_t fieldId);
- void execute(uint32_t docId) override;
+ SubqueriesExecutor(const search::fef::IQueryEnvironment &env,
+ uint32_t fieldId);
+ virtual void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class SubqueriesBlueprint : public fef::Blueprint
+class SubqueriesBlueprint : public search::fef::Blueprint
{
private:
- const fef::FieldInfo *_field;
+ const search::fef::FieldInfo *_field;
public:
SubqueriesBlueprint() : Blueprint("subqueries"), _field(nullptr) {}
- void visitDumpFeatures(const fef::IIndexEnvironment &, fef::IDumpFeatureVisitor &) const override {}
- fef::Blueprint::UP createInstance() const override {
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &,
+ search::fef::IDumpFeatureVisitor &) const override {}
+ virtual search::fef::Blueprint::UP createInstance() const override {
return Blueprint::UP(new SubqueriesBlueprint);
}
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().field();
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().field();
}
- bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ virtual bool setup(const search::fef::IIndexEnvironment &env,
+ const search::fef::ParameterList &params) override;
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/tensor_from_attribute_executor.h b/searchlib/src/vespa/searchlib/features/tensor_from_attribute_executor.h
index 4f368a9e188..eba2a9f44ae 100644
--- a/searchlib/src/vespa/searchlib/features/tensor_from_attribute_executor.h
+++ b/searchlib/src/vespa/searchlib/features/tensor_from_attribute_executor.h
@@ -34,7 +34,7 @@ public:
{
_attrBuffer.allocate(_attribute->getMaxValueCount());
}
- void execute(uint32_t docId) override;
+ virtual void execute(uint32_t docId) override;
};
template <typename WeightedBufferType>
diff --git a/searchlib/src/vespa/searchlib/features/term_field_md_feature.h b/searchlib/src/vespa/searchlib/features/term_field_md_feature.h
index 6c574aa90b4..ef3d83de98d 100644
--- a/searchlib/src/vespa/searchlib/features/term_field_md_feature.h
+++ b/searchlib/src/vespa/searchlib/features/term_field_md_feature.h
@@ -16,14 +16,16 @@ namespace features {
**/
class TermFieldMdExecutor : public fef::FeatureExecutor {
- typedef std::pair<fef::TermFieldHandle, query::Weight> Element;
+ typedef std::pair<search::fef::TermFieldHandle, query::Weight> Element;
std::vector<Element> _terms;
const fef::MatchData *_md;
- void execute(uint32_t docId) override;
- void handle_bind_match_data(fef::MatchData &md) override;
+ virtual void execute(uint32_t docId) override;
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
+
public:
- TermFieldMdExecutor(const fef::IQueryEnvironment &env, uint32_t fieldId);
+ TermFieldMdExecutor(const search::fef::IQueryEnvironment &env,
+ uint32_t fieldId);
};
@@ -31,18 +33,31 @@ public:
* Implements the blueprint for the term field md executor.
**/
class TermFieldMdBlueprint : public fef::Blueprint {
- const fef::FieldInfo * _field;
+ const search::fef::FieldInfo * _field;
public:
TermFieldMdBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::ParameterDescriptions getDescriptions() const override {
+
+ // Inherit doc from Blueprint.
+ virtual void visitDumpFeatures(const fef::IIndexEnvironment & env,
+ fef::IDumpFeatureVisitor & visitor) const override;
+
+ // Inherit doc from Blueprint.
+ virtual fef::Blueprint::UP createInstance() const override;
+
+ // Inherit doc from Blueprint.
+ virtual fef::ParameterDescriptions getDescriptions() const override {
return fef::ParameterDescriptions().desc().field();
}
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
+
+ // Inherit doc from Blueprint.
+ virtual bool setup(const fef::IIndexEnvironment & env,
+ const fef::ParameterList & params) override;
+
+ // Inherit doc from Blueprint.
+ virtual fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/features/termdistancefeature.h b/searchlib/src/vespa/searchlib/features/termdistancefeature.h
index 609ea6d1b63..ed79a51c199 100644
--- a/searchlib/src/vespa/searchlib/features/termdistancefeature.h
+++ b/searchlib/src/vespa/searchlib/features/termdistancefeature.h
@@ -23,7 +23,7 @@ struct TermDistanceParams {
/**
* Implements the executor for calculating min term distance (forward and reverse).
**/
-class TermDistanceExecutor : public fef::FeatureExecutor
+class TermDistanceExecutor : public search::fef::FeatureExecutor
{
private:
const TermDistanceParams & _params;
@@ -34,31 +34,44 @@ private:
virtual void handle_bind_match_data(fef::MatchData &md) override;
public:
- TermDistanceExecutor(const fef::IQueryEnvironment & env,
+ TermDistanceExecutor(const search::fef::IQueryEnvironment & env,
const TermDistanceParams & params);
- void execute(uint32_t docId) override;
- bool valid() const;
+ virtual void execute(uint32_t docId) override;
+ bool valid() const;
};
/**
* Implements the blueprint for the term distance executor.
**/
-class TermDistanceBlueprint : public fef::Blueprint {
+class TermDistanceBlueprint : public search::fef::Blueprint {
private:
TermDistanceParams _params;
public:
TermDistanceBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY).number().number();
+
+ // Inherit doc from Blueprint.
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
+ search::fef::IDumpFeatureVisitor & visitor) const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::Blueprint::UP createInstance() const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY).number().number();
}
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
+ // Inherit doc from Blueprint.
+ virtual bool setup(const search::fef::IIndexEnvironment & env,
+ const search::fef::ParameterList & params) override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/features/termeditdistancefeature.h b/searchlib/src/vespa/searchlib/features/termeditdistancefeature.h
index c7ef3d672fd..26faaae4b93 100644
--- a/searchlib/src/vespa/searchlib/features/termeditdistancefeature.h
+++ b/searchlib/src/vespa/searchlib/features/termeditdistancefeature.h
@@ -1,6 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include <string>
+#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/common/feature.h>
@@ -43,14 +45,14 @@ struct TermEditDistanceConfig {
/**
* Implements the executor for the term edit distance calculator.
*/
-class TermEditDistanceExecutor : public fef::FeatureExecutor {
+class TermEditDistanceExecutor : public search::fef::FeatureExecutor {
public:
/**
* Constructs a new executor for the term edit distance calculator.
*
* @param config The config for this executor.
*/
- TermEditDistanceExecutor(const fef::IQueryEnvironment &env,
+ TermEditDistanceExecutor(const search::fef::IQueryEnvironment &env,
const TermEditDistanceConfig &config);
@@ -78,7 +80,7 @@ public:
*
* @param docid local document id to be evaluated
*/
- void execute(uint32_t docId) override;
+ virtual void execute(uint32_t docId) override;
private:
/**
@@ -89,11 +91,11 @@ private:
*/
void logRow(const std::vector<TedCell> &row, size_t numCols);
- void handle_bind_match_data(fef::MatchData &md) override;
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
private:
const TermEditDistanceConfig &_config; // The config for this executor.
- std::vector<fef::TermFieldHandle> _fieldHandles; // The handles of all query terms.
+ std::vector<search::fef::TermFieldHandle> _fieldHandles; // The handles of all query terms.
std::vector<feature_t> _termWeights; // The weights of all query terms.
std::vector<TedCell> _prevRow; // Optimized representation of the cost table.
std::vector<TedCell> _thisRow; //
@@ -103,17 +105,26 @@ private:
/**
* Implements the blueprint for the term edit distance calculator.
*/
-class TermEditDistanceBlueprint : public fef::Blueprint {
+class TermEditDistanceBlueprint : public search::fef::Blueprint {
public:
/**
* Constructs a new blueprint for the term edit distance calculator.
*/
TermEditDistanceBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::SINGLE);
+
+ // Inherit doc from Blueprint.
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
+ search::fef::IDumpFeatureVisitor &visitor) const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::Blueprint::UP createInstance() const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::SINGLE);
}
/**
@@ -132,10 +143,12 @@ public:
* @param params A list of the parameters mentioned above.
* @return Whether or not setup was possible.
*/
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ virtual bool setup(const search::fef::IIndexEnvironment & env,
+ const search::fef::ParameterList & params) override;
private:
TermEditDistanceConfig _config; // The config for this blueprint.
};
}}
+
diff --git a/searchlib/src/vespa/searchlib/features/termfeature.h b/searchlib/src/vespa/searchlib/features/termfeature.h
index cd42333f44b..cb4b92dfc11 100644
--- a/searchlib/src/vespa/searchlib/features/termfeature.h
+++ b/searchlib/src/vespa/searchlib/features/termfeature.h
@@ -1,6 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include <string>
+#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/common/feature.h>
@@ -11,7 +13,7 @@ namespace features {
/**
* Implements the executor for term feature.
*/
-class TermExecutor : public fef::FeatureExecutor {
+class TermExecutor : public search::fef::FeatureExecutor {
public:
/**
* Constructs an executor for term feature.
@@ -19,32 +21,48 @@ public:
* @param env The query environment.
* @param termId The id of the query term to evaluate.
*/
- TermExecutor(const fef::IQueryEnvironment &env, uint32_t termId);
- void execute(uint32_t docId) override;
+ TermExecutor(const search::fef::IQueryEnvironment &env,
+ uint32_t termId);
+ virtual void execute(uint32_t docId) override;
private:
- const fef::ITermData *_termData;
- feature_t _connectedness;
- feature_t _significance;
+ const search::fef::ITermData *_termData;
+ feature_t _connectedness;
+ feature_t _significance;
};
/**
* Implements the blueprint for term feature.
*/
-class TermBlueprint : public fef::Blueprint {
+class TermBlueprint : public search::fef::Blueprint {
public:
+ /**
+ * Constructs a blueprint for term feature.
+ */
TermBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().number();
+ // Inherit doc from Blueprint.
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
+ search::fef::IDumpFeatureVisitor &visitor) const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::Blueprint::UP createInstance() const override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().number();
}
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
+ // Inherit doc from Blueprint.
+ virtual bool setup(const search::fef::IIndexEnvironment & env,
+ const search::fef::ParameterList & params) override;
+
+ // Inherit doc from Blueprint.
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
private:
uint32_t _termId;
};
}}
+
diff --git a/searchlib/src/vespa/searchlib/features/terminfofeature.h b/searchlib/src/vespa/searchlib/features/terminfofeature.h
index 962b35fc936..7f1d8b8a6e2 100644
--- a/searchlib/src/vespa/searchlib/features/terminfofeature.h
+++ b/searchlib/src/vespa/searchlib/features/terminfofeature.h
@@ -2,26 +2,30 @@
#pragma once
+#include <string>
+#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
namespace search {
namespace features {
-class TermInfoBlueprint : public fef::Blueprint
+class TermInfoBlueprint : public search::fef::Blueprint
{
private:
uint32_t _termIdx;
public:
TermInfoBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment &indexEnv, fef::IDumpFeatureVisitor &visitor) const override;
- fef::Blueprint::UP createInstance() const override { return fef::Blueprint::UP(new TermInfoBlueprint()); }
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().number();
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &indexEnv,
+ search::fef::IDumpFeatureVisitor &visitor) const override;
+ virtual search::fef::Blueprint::UP createInstance() const override { return search::fef::Blueprint::UP(new TermInfoBlueprint()); }
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().number();
}
- bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ virtual bool setup(const search::fef::IIndexEnvironment & env,
+ const search::fef::ParameterList & params) override;
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/text_similarity_feature.h b/searchlib/src/vespa/searchlib/features/text_similarity_feature.h
index b47a7112a0c..084d1dd4b1c 100644
--- a/searchlib/src/vespa/searchlib/features/text_similarity_feature.h
+++ b/searchlib/src/vespa/searchlib/features/text_similarity_feature.h
@@ -2,6 +2,8 @@
#pragma once
+#include <string>
+#include <vector>
#include <vespa/searchlib/fef/fef.h>
#include <vespa/vespalib/util/priority_queue.h>
@@ -10,7 +12,7 @@ namespace features {
//-----------------------------------------------------------------------------
-class TextSimilarityExecutor : public fef::FeatureExecutor
+class TextSimilarityExecutor : public search::fef::FeatureExecutor
{
private:
std::vector<fef::TermFieldHandle> _handles;
@@ -19,11 +21,11 @@ private:
struct Item {
uint32_t idx;
- fef::TermFieldMatchData::PositionsIterator pos;
- fef::TermFieldMatchData::PositionsIterator end;
+ search::fef::TermFieldMatchData::PositionsIterator pos;
+ search::fef::TermFieldMatchData::PositionsIterator end;
Item(uint32_t idx_in,
- fef::TermFieldMatchData::PositionsIterator pos_in,
- fef::TermFieldMatchData::PositionsIterator end_in)
+ search::fef::TermFieldMatchData::PositionsIterator pos_in,
+ search::fef::TermFieldMatchData::PositionsIterator end_in)
: idx(idx_in), pos(pos_in), end(end_in) {}
bool operator<(const Item &other) const {
return (pos->getPosition() == other.pos->getPosition())
@@ -35,17 +37,17 @@ private:
vespalib::PriorityQueue<Item> _queue;
const fef::MatchData *_md;
- void handle_bind_match_data(fef::MatchData &md) override;
+ virtual void handle_bind_match_data(fef::MatchData &md) override;
public:
- TextSimilarityExecutor(const fef::IQueryEnvironment &env, uint32_t field_id);
- bool isPure() override { return _handles.empty(); }
- void execute(uint32_t docId) override;
+ TextSimilarityExecutor(const search::fef::IQueryEnvironment &env, uint32_t field_id);
+ virtual bool isPure() override { return _handles.empty(); }
+ virtual void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class TextSimilarityBlueprint : public fef::Blueprint
+class TextSimilarityBlueprint : public search::fef::Blueprint
{
private:
static const vespalib::string score_output;
@@ -58,13 +60,15 @@ private:
public:
TextSimilarityBlueprint();
- void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
- fef::Blueprint::UP createInstance() const override;
- fef::ParameterDescriptions getDescriptions() const override {
- return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::SINGLE);
+ virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
+ search::fef::IDumpFeatureVisitor &visitor) const override;
+ virtual search::fef::Blueprint::UP createInstance() const override;
+ virtual search::fef::ParameterDescriptions getDescriptions() const override {
+ return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::SINGLE);
}
- bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
- fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ virtual bool setup(const search::fef::IIndexEnvironment &env,
+ const search::fef::ParameterList &params) override;
+ virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
//-----------------------------------------------------------------------------
diff --git a/searchlib/src/vespa/searchlib/queryeval/create_blueprint_visitor_helper.h b/searchlib/src/vespa/searchlib/queryeval/create_blueprint_visitor_helper.h
index 3d99b55f414..8130c35dc2c 100644
--- a/searchlib/src/vespa/searchlib/queryeval/create_blueprint_visitor_helper.h
+++ b/searchlib/src/vespa/searchlib/queryeval/create_blueprint_visitor_helper.h
@@ -113,30 +113,30 @@ public:
void illegalVisit() {}
- void visit(search::query::And &) override { illegalVisit(); }
- void visit(search::query::AndNot &) override { illegalVisit(); }
- void visit(search::query::Equiv &) override { illegalVisit(); }
- void visit(search::query::Near &) override { illegalVisit(); }
- void visit(search::query::ONear &) override { illegalVisit(); }
- void visit(search::query::Or &) override { illegalVisit(); }
- void visit(search::query::Rank &) override { illegalVisit(); }
- void visit(search::query::WeakAnd &) override { illegalVisit(); }
-
- void visit(search::query::Phrase &n) override {
+ virtual void visit(search::query::And &) override { illegalVisit(); }
+ virtual void visit(search::query::AndNot &) override { illegalVisit(); }
+ virtual void visit(search::query::Equiv &) override { illegalVisit(); }
+ virtual void visit(search::query::Near &) override { illegalVisit(); }
+ virtual void visit(search::query::ONear &) override { illegalVisit(); }
+ virtual void visit(search::query::Or &) override { illegalVisit(); }
+ virtual void visit(search::query::Rank &) override { illegalVisit(); }
+ virtual void visit(search::query::WeakAnd &) override { illegalVisit(); }
+
+ virtual void visit(search::query::Phrase &n) override {
visitPhrase(n);
}
- void visit(search::query::WeightedSetTerm &n) override { visitWeightedSetTerm(n); }
- void visit(search::query::DotProduct &n) override { visitDotProduct(n); }
- void visit(search::query::WandTerm &n) override { visitWandTerm(n); }
-
- void visit(search::query::NumberTerm &n) override = 0;
- void visit(search::query::LocationTerm &n) override = 0;
- void visit(search::query::PrefixTerm &n) override = 0;
- void visit(search::query::RangeTerm &n) override = 0;
- void visit(search::query::StringTerm &n) override = 0;
- void visit(search::query::SubstringTerm &n) override = 0;
- void visit(search::query::SuffixTerm &n) override = 0;
- void visit(search::query::RegExpTerm &n) override = 0;
+ virtual void visit(search::query::WeightedSetTerm &n) override { visitWeightedSetTerm(n); }
+ virtual void visit(search::query::DotProduct &n) override { visitDotProduct(n); }
+ virtual void visit(search::query::WandTerm &n) override { visitWandTerm(n); }
+
+ virtual void visit(search::query::NumberTerm &n) override = 0;
+ virtual void visit(search::query::LocationTerm &n) override = 0;
+ virtual void visit(search::query::PrefixTerm &n) override = 0;
+ virtual void visit(search::query::RangeTerm &n) override = 0;
+ virtual void visit(search::query::StringTerm &n) override = 0;
+ virtual void visit(search::query::SubstringTerm &n) override = 0;
+ virtual void visit(search::query::SuffixTerm &n) override = 0;
+ virtual void visit(search::query::RegExpTerm &n) override = 0;
};
} // namespace search::queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp b/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp
index 974d7fd1ca5..6732f37482d 100644
--- a/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/equivsearch.cpp
@@ -1,6 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
#include "equivsearch.h"
+#include <vespa/vespalib/objects/visit.h>
+#include <vespa/searchlib/fef/termmatchdatamerger.h>
namespace search {
namespace queryeval {
@@ -14,7 +17,7 @@ private:
bool _valid;
protected:
- void doUnpack(uint32_t docid) override;
+ virtual void doUnpack(uint32_t docid) override;
public:
/**
diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_search.h b/searchlib/src/vespa/searchlib/queryeval/fake_search.h
index 020f045f49d..3ba3d2cf439 100644
--- a/searchlib/src/vespa/searchlib/queryeval/fake_search.h
+++ b/searchlib/src/vespa/searchlib/queryeval/fake_search.h
@@ -34,11 +34,12 @@ public:
{
assert(_tfmda.size() == 1);
}
- void doSeek(uint32_t docid) override;
- void doUnpack(uint32_t docid) override;
- const PostingInfo *getPostingInfo() const override { return _result.postingInfo(); }
- void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ virtual void doSeek(uint32_t docid) override;
+ virtual void doUnpack(uint32_t docid) override;
+ virtual const PostingInfo *getPostingInfo() const override { return _result.postingInfo(); }
+ virtual void visitMembers(vespalib::ObjectVisitor &visitor) const override;
};
} // namespace queryeval
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp
index 6aadb33c035..9e7e7ed6c9a 100644
--- a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.cpp
@@ -54,15 +54,15 @@ public:
template <class TermNode>
void visitTerm(TermNode &n);
- void visit(NumberTerm &n) override { visitTerm(n); }
- void visit(LocationTerm &n) override { visitTerm(n); }
- void visit(PrefixTerm &n) override { visitTerm(n); }
- void visit(RangeTerm &n) override { visitTerm(n); }
- void visit(StringTerm &n) override { visitTerm(n); }
- void visit(SubstringTerm &n) override { visitTerm(n); }
- void visit(SuffixTerm &n) override { visitTerm(n); }
- void visit(PredicateQuery &n) override { visitTerm(n); }
- void visit(RegExpTerm &n) override { visitTerm(n); }
+ virtual void visit(NumberTerm &n) override { visitTerm(n); }
+ virtual void visit(LocationTerm &n) override { visitTerm(n); }
+ virtual void visit(PrefixTerm &n) override { visitTerm(n); }
+ virtual void visit(RangeTerm &n) override { visitTerm(n); }
+ virtual void visit(StringTerm &n) override { visitTerm(n); }
+ virtual void visit(SubstringTerm &n) override { visitTerm(n); }
+ virtual void visit(SuffixTerm &n) override { visitTerm(n); }
+ virtual void visit(PredicateQuery &n) override { visitTerm(n); }
+ virtual void visit(RegExpTerm &n) override { visitTerm(n); }
};
template <class Map>
diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.h b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.h
index 822cf439ad6..34b6e250797 100644
--- a/searchlib/src/vespa/searchlib/queryeval/fake_searchable.h
+++ b/searchlib/src/vespa/searchlib/queryeval/fake_searchable.h
@@ -55,11 +55,12 @@ public:
const vespalib::string &term,
const FakeResult &result);
+ // inherited from Searchable
using Searchable::createBlueprint;
- Blueprint::UP createBlueprint(const IRequestContext & requestContext,
- const FieldSpec &field,
- const search::query::Node &term) override;
- ~FakeSearchable();
+ virtual Blueprint::UP createBlueprint(const IRequestContext & requestContext,
+ const FieldSpec &field,
+ const search::query::Node &term) override;
+ virtual ~FakeSearchable();
};
} // namespace search::queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/get_weight_from_node.cpp b/searchlib/src/vespa/searchlib/queryeval/get_weight_from_node.cpp
index 95615c8b923..9a91bf6e2b8 100644
--- a/searchlib/src/vespa/searchlib/queryeval/get_weight_from_node.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/get_weight_from_node.cpp
@@ -1,9 +1,15 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
+#include <vespa/log/log.h>
+LOG_SETUP(".get_weight_from_node");
+
#include "get_weight_from_node.h"
#include <vespa/searchlib/query/tree/intermediatenodes.h>
+#include <vespa/searchlib/query/tree/node.h>
#include <vespa/searchlib/query/tree/simplequery.h>
#include <vespa/searchlib/query/tree/templatetermvisitor.h>
+#include <vespa/searchlib/query/tree/termnodes.h>
using search::query::Node;
using search::query::SimpleQueryNodeTypes;
@@ -25,7 +31,7 @@ struct WeightExtractor : public TemplateTermVisitor<WeightExtractor,
}
// Treat Equiv nodes as terms.
- void visit(search::query::Equiv &n) override { visitTerm(n); }
+ virtual void visit(search::query::Equiv &n) override { visitTerm(n); }
};
} // namespace search::queryeval::<unnamed>
diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
index 65b1257b105..64776b99f16 100644
--- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
@@ -542,7 +542,7 @@ class FindSource : public Blueprint::IPredicate
{
public:
FindSource(uint32_t sourceId) : _sourceId(sourceId) { }
- bool check(const Blueprint & bp) const override { return bp.getSourceId() == _sourceId; }
+ virtual bool check(const Blueprint & bp) const override { return bp.getSourceId() == _sourceId; }
private:
uint32_t _sourceId;
};
diff --git a/searchlib/src/vespa/searchlib/queryeval/monitoring_search_iterator.h b/searchlib/src/vespa/searchlib/queryeval/monitoring_search_iterator.h
index c0b3c9a9ff6..d910499b463 100644
--- a/searchlib/src/vespa/searchlib/queryeval/monitoring_search_iterator.h
+++ b/searchlib/src/vespa/searchlib/queryeval/monitoring_search_iterator.h
@@ -81,14 +81,15 @@ public:
vespalib::string toString() const { return _str; }
- void openStruct(const vespalib::string &name, const vespalib::string &type) override;
- void closeStruct() override;
- void visitBool(const vespalib::string &name, bool value) override;
- void visitInt(const vespalib::string &name, int64_t value) override;
- void visitFloat(const vespalib::string &name, double value) override;
- void visitString(const vespalib::string &name, const vespalib::string &value) override;
- void visitNull(const vespalib::string &name) override;
- void visitNotImplemented() override;
+ // Overrides ObjectVisitor
+ virtual void openStruct(const vespalib::string &name, const vespalib::string &type) override;
+ virtual void closeStruct() override;
+ virtual void visitBool(const vespalib::string &name, bool value) override;
+ virtual void visitInt(const vespalib::string &name, int64_t value) override;
+ virtual void visitFloat(const vespalib::string &name, double value) override;
+ virtual void visitString(const vespalib::string &name, const vespalib::string &value) override;
+ virtual void visitNull(const vespalib::string &name) override;
+ virtual void visitNotImplemented() override;
};
typedef std::unique_ptr<MonitoringSearchIterator> UP;
@@ -114,7 +115,7 @@ public:
SearchIterator::initRange(_search->getDocId()+1, _search->getEndId());
}
Trinary is_strict() const override { return _search->is_strict(); }
- const PostingInfo *getPostingInfo() const override;
+ virtual const PostingInfo *getPostingInfo() const override;
void visitMembers(vespalib::ObjectVisitor &visitor) const override;
const SearchIterator &getIterator() const { return *_search; }
diff --git a/searchlib/src/vespa/searchlib/queryeval/nearsearch.h b/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
index 96dd497fb7c..6ba631abb16 100644
--- a/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
@@ -77,8 +77,10 @@ public:
uint32_t window,
bool strict);
- void visitMembers(vespalib::ObjectVisitor &visitor) const override;
- void doSeek(uint32_t docId) override;
+ virtual void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+
+ // Inherit doc from SearchIterator.
+ virtual void doSeek(uint32_t docId) override;
};
/**
@@ -95,7 +97,9 @@ private:
};
std::vector<Matcher> _matchers;
- bool match(uint32_t docId) override;
+
+ // Inherit doc from NearSearchBase.
+ virtual bool match(uint32_t docId) override;
public:
/**
@@ -127,7 +131,9 @@ private:
};
std::vector<Matcher> _matchers;
- bool match(uint32_t docId) override;
+
+ // Inherit doc from NearSearchBase.
+ virtual bool match(uint32_t docId) override;
public:
/**
diff --git a/searchlib/src/vespa/searchlib/queryeval/orlikesearch.h b/searchlib/src/vespa/searchlib/queryeval/orlikesearch.h
index b1fae7c0bb2..5a62cc5dedb 100644
--- a/searchlib/src/vespa/searchlib/queryeval/orlikesearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/orlikesearch.h
@@ -2,8 +2,8 @@
#pragma once
-#include "orsearch.h"
#include <vespa/vespalib/objects/visit.h>
+#include "orsearch.h"
namespace search {
namespace queryeval {
@@ -52,16 +52,16 @@ public:
_unpacker(unpacker)
{ }
private:
- void onRemove(size_t index) override {
+ virtual void onRemove(size_t index) override {
_unpacker.onRemove(index);
}
- void onInsert(size_t index) override {
+ virtual void onInsert(size_t index) override {
_unpacker.onInsert(index);
}
- void doUnpack(uint32_t docid) override {
+ virtual void doUnpack(uint32_t docid) override {
_unpacker.unpack(docid, *this);
}
- bool needUnpack(size_t index) const override {
+ virtual bool needUnpack(size_t index) const override {
return _unpacker.needUnpack(index);
}
Unpack _unpacker;
@@ -70,3 +70,4 @@ private:
} // namespace queryeval
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/queryeval/orsearch.h b/searchlib/src/vespa/searchlib/queryeval/orsearch.h
index bd3d0aa5e3f..e75776d7161 100644
--- a/searchlib/src/vespa/searchlib/queryeval/orsearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/orsearch.h
@@ -27,9 +27,9 @@ public:
protected:
OrSearch(const Children & children) : MultiSearch(children) { }
private:
-
- bool isOr() const override { return true; }
+ virtual bool isOr() const override { return true; }
};
} // namespace queryeval
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
index 46765f40fd6..2d1f09da9c8 100644
--- a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
+++ b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
@@ -48,9 +48,10 @@ public:
const fef::TermFieldMatchDataArray &childMatch,
std::vector<uint32_t> eval_order,
fef::TermFieldMatchData &tmd, bool strict);
- void doSeek(uint32_t doc_id) override;
- void doUnpack(uint32_t doc_id) override;
- void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+
+ virtual void doSeek(uint32_t doc_id) override;
+ virtual void doUnpack(uint32_t doc_id) override;
+ virtual void visitMembers(vespalib::ObjectVisitor &visitor) const override;
SimplePhraseSearch & setDoom(const vespalib::Doom * doom) { _doom = doom; return *this; }
};
diff --git a/searchlib/src/vespa/searchlib/queryeval/simplesearch.h b/searchlib/src/vespa/searchlib/queryeval/simplesearch.h
index 53c22deb237..50553541e98 100644
--- a/searchlib/src/vespa/searchlib/queryeval/simplesearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/simplesearch.h
@@ -23,8 +23,8 @@ private:
SimpleSearch &operator=(const SimpleSearch &);
protected:
- void doSeek(uint32_t docid) override;
- void doUnpack(uint32_t docid) override;
+ virtual void doSeek(uint32_t docid) override;
+ virtual void doUnpack(uint32_t docid) override;
public:
SimpleSearch(const SimpleResult &result);
@@ -32,8 +32,8 @@ public:
_tag = t;
return *this;
}
- void visitMembers(vespalib::ObjectVisitor &visitor) const override;
- ~SimpleSearch();
+ virtual void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ virtual ~SimpleSearch();
};
} // namespace queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/termasstring.cpp b/searchlib/src/vespa/searchlib/queryeval/termasstring.cpp
index 8aa015dc752..07a7763d626 100644
--- a/searchlib/src/vespa/searchlib/queryeval/termasstring.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/termasstring.cpp
@@ -78,28 +78,29 @@ struct TermAsStringVisitor : public QueryVisitor {
isSet = false;
}
- void visit(And &) override {illegalVisit(); }
- void visit(AndNot &) override {illegalVisit(); }
- void visit(Equiv &) override {illegalVisit(); }
- void visit(Near &) override {illegalVisit(); }
- void visit(ONear &) override {illegalVisit(); }
- void visit(Or &) override {illegalVisit(); }
- void visit(Phrase &) override {illegalVisit(); }
- void visit(Rank &) override {illegalVisit(); }
- void visit(WeakAnd &) override {illegalVisit(); }
- void visit(WeightedSetTerm &) override {illegalVisit(); }
- void visit(DotProduct &) override {illegalVisit(); }
- void visit(WandTerm &) override {illegalVisit(); }
-
- void visit(NumberTerm &n) override {visitTerm(n); }
- void visit(LocationTerm &n) override {visitTerm(n); }
- void visit(PrefixTerm &n) override {visitTerm(n); }
- void visit(RangeTerm &n) override {visitTerm(n); }
- void visit(StringTerm &n) override {visitTerm(n); }
- void visit(SubstringTerm &n) override {visitTerm(n); }
- void visit(SuffixTerm &n) override {visitTerm(n); }
- void visit(RegExpTerm &n) override {visitTerm(n); }
- void visit(PredicateQuery &) override {illegalVisit(); }
+ virtual void visit(And &) override { illegalVisit(); }
+ virtual void visit(AndNot &) override { illegalVisit(); }
+ virtual void visit(Equiv &) override { illegalVisit(); }
+ virtual void visit(Near &) override { illegalVisit(); }
+ virtual void visit(ONear &) override { illegalVisit(); }
+ virtual void visit(Or &) override { illegalVisit(); }
+ virtual void visit(Phrase &) override { illegalVisit(); }
+ virtual void visit(Rank &) override { illegalVisit(); }
+ virtual void visit(WeakAnd &) override { illegalVisit(); }
+ virtual void visit(WeightedSetTerm &) override { illegalVisit(); }
+ virtual void visit(DotProduct &) override { illegalVisit(); }
+ virtual void visit(WandTerm &) override { illegalVisit(); }
+
+ virtual void visit(NumberTerm &n) override { visitTerm(n); }
+ virtual void visit(LocationTerm &n) override { visitTerm(n); }
+ virtual void visit(PrefixTerm &n) override { visitTerm(n); }
+ virtual void visit(RangeTerm &n) override { visitTerm(n); }
+ virtual void visit(StringTerm &n) override { visitTerm(n); }
+ virtual void visit(SubstringTerm &n) override { visitTerm(n); }
+ virtual void visit(SuffixTerm &n) override { visitTerm(n); }
+ virtual void visit(RegExpTerm &n) override { visitTerm(n); }
+
+ virtual void visit(PredicateQuery &) override { illegalVisit(); }
};
} // namespace
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.h b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.h
index 3c1aba30bf7..1c3059913e8 100644
--- a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.h
+++ b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.h
@@ -15,7 +15,7 @@ struct WeakAndSearch : SearchIterator {
virtual wand::score_t get_max_score(size_t idx) const = 0;
virtual const Terms &getTerms() const = 0;
virtual uint32_t getN() const = 0;
- void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ virtual void visitMembers(vespalib::ObjectVisitor &visitor) const override;
static SearchIterator *createArrayWand(const Terms &terms, uint32_t n, bool strict);
static SearchIterator *createHeapWand(const Terms &terms, uint32_t n, bool strict);
static SearchIterator *create(const Terms &terms, uint32_t n, bool strict);
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
index 2b7b5398e1e..c1f9baedb17 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
@@ -788,8 +788,11 @@ class FakeEGCompr64SkipFilterOcc : public FakeEGCompr64FilterOcc
{
public:
FakeEGCompr64SkipFilterOcc(const FakeWord &fw);
- ~FakeEGCompr64SkipFilterOcc();
- search::queryeval::SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+
+ ~FakeEGCompr64SkipFilterOcc(void);
+
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.h
index a2bd1ab1038..fb49bd22cda 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.h
@@ -4,9 +4,11 @@
#include "fakeword.h"
#include "fakeposting.h"
-namespace search {
+namespace search
+{
-namespace fakedata {
+namespace fakedata
+{
/*
* Old compressed posocc format.
@@ -38,30 +40,70 @@ private:
void setup(const FakeWord &fw);
template <bool bigEndian>
- void setupT(const FakeWord &fw);
+ void
+ setupT(const FakeWord &fw);
public:
FakeEGCompr64FilterOcc(const FakeWord &fw);
- FakeEGCompr64FilterOcc(const FakeWord &fw, bool bigEndian, const char *nameSuffix);
-
- ~FakeEGCompr64FilterOcc();
-
- static void forceLink();
-
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- size_t skipBitSize() const override;
- size_t l1SkipBitSize() const override;
- size_t l2SkipBitSize() const override;
- size_t l3SkipBitSize() const override;
- size_t l4SkipBitSize() const override;
- int lowLevelSinglePostingScan() const override;
- int lowLevelSinglePostingScanUnpack() const override;
- int lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
- int lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
- queryeval::SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+
+ FakeEGCompr64FilterOcc(const FakeWord &fw,
+ bool bigEndian,
+ const char *nameSuffix);
+
+ ~FakeEGCompr64FilterOcc(void);
+
+ static void
+ forceLink(void);
+
+ /*
+ * Size of posting list, in bits.
+ */
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ /*
+ * Size of posting skip list, in bits.
+ */
+ size_t skipBitSize(void) const override;
+ size_t l1SkipBitSize(void) const override;
+ size_t l2SkipBitSize(void) const override;
+ size_t l3SkipBitSize(void) const override;
+ size_t l4SkipBitSize(void) const override;
+
+ /*
+ * Single posting list performance, without feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScan(void) const override;
+
+ /*
+ * Single posting list performance, with feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScanUnpack(void) const override;
+
+ /*
+ * Two posting lists performance (same format) without feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
+
+ /*
+ * Two posting lists performance (same format) with feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
+
+
+ /*
+ * Iterator factory, for current query evaluation framework.
+ */
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
} // namespace fakedata
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.h
index 2946f15c539..427110383fd 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.h
@@ -4,9 +4,11 @@
#include "fakeword.h"
#include "fakeposting.h"
-namespace search {
+namespace search
+{
-namespace fakedata {
+namespace fakedata
+{
/*
* Old posocc format.
@@ -20,19 +22,51 @@ private:
public:
FakeFilterOcc(const FakeWord &fakeword);
- ~FakeFilterOcc();
+ ~FakeFilterOcc(void);
+
+ static void
+ forceLink(void);
+
+ /*
+ * Size of posting list, in bits.
+ */
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
- static void forceLink();
+ /*
+ * Single posting list performance, without feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScan(void) const override;
- size_t bitSize() const override;
- bool hasWordPositions(void) const override;
- int lowLevelSinglePostingScan(void) const override;
- int lowLevelSinglePostingScanUnpack(void) const override;
- int lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
- int lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
- queryeval::SearchIterator * createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+ /*
+ * Single posting list performance, with feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScanUnpack(void) const override;
+
+ /*
+ * Two posting lists performance (same format) without feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
+
+ /*
+ * Two posting lists performance (same format) with feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
+
+
+ /*
+ * Iterator factory, for current query evaluation framework.
+ */
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
} // namespace fakedata
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.h
index acc28217d09..c4f3e27c4ac 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.h
@@ -9,8 +9,11 @@
#include <vespa/searchlib/bitcompression/compression.h>
#include <vespa/searchlib/bitcompression/posocccompression.h>
-namespace search {
-namespace fakedata {
+namespace search
+{
+
+namespace fakedata
+{
class FakeMemTreeOccMgr : public FakeWord::RandomizedWriter
{
@@ -35,9 +38,12 @@ public:
PostingIdx(NodeAllocator &allocator)
: _tree(),
_iterator(_tree.getRoot(), allocator)
- {}
+ {
+ }
- void clear() {
+ void
+ clear(void)
+ {
_tree.clear(_iterator.getAllocator());
_iterator = _tree.begin(_iterator.getAllocator());
}
@@ -58,7 +64,8 @@ public:
_features(),
_removal(true),
_seq(0)
- {}
+ {
+ }
PendingOp(uint32_t wordIdx, uint32_t docId, EntryRef features)
: _wordIdx(wordIdx),
@@ -66,15 +73,42 @@ public:
_features(features),
_removal(false),
_seq(0)
- {}
+ {
+ }
- void setSeq(uint32_t seq) { _seq = seq; }
- uint32_t getWordIdx(void) const { return _wordIdx; }
- uint32_t getDocId(void) const { return _docId; }
- EntryRef getFeatureRef(void) const { return _features; }
- bool getRemove() const { return _removal; }
+ void
+ setSeq(uint32_t seq)
+ {
+ _seq = seq;
+ }
+
+ uint32_t
+ getWordIdx(void) const
+ {
+ return _wordIdx;
+ }
+
+ uint32_t
+ getDocId(void) const
+ {
+ return _docId;
+ }
- bool operator<(const PendingOp &rhs) const {
+ EntryRef
+ getFeatureRef(void) const
+ {
+ return _features;
+ }
+
+ bool
+ getRemove(void) const
+ {
+ return _removal;
+ }
+
+ bool
+ operator<(const PendingOp &rhs) const
+ {
if (_wordIdx != rhs._wordIdx)
return _wordIdx < rhs._wordIdx;
if (_docId != rhs._docId)
@@ -91,19 +125,42 @@ public:
FeatureStore _featureStore;
FakeMemTreeOccMgr(const Schema &schema);
- ~FakeMemTreeOccMgr();
-
- void freeze();
- void transferHoldLists();
- void incGeneration();
- void trimHoldLists();
- void sync();
- void add(uint32_t wordIdx, index::DocIdAndFeatures &features) override;
- void remove(uint32_t wordIdx, uint32_t docId) override;
- void sortUnflushed();
- void flush();
- void compactTrees();
- void finalize();
+
+ virtual
+ ~FakeMemTreeOccMgr(void);
+
+ void
+ freeze(void);
+
+ void
+ transferHoldLists(void);
+
+ void
+ incGeneration(void);
+
+ void
+ trimHoldLists(void);
+
+ void
+ sync(void);
+
+ virtual void
+ add(uint32_t wordIdx, index::DocIdAndFeatures &features) override;
+
+ virtual void
+ remove(uint32_t wordIdx, uint32_t docId) override;
+
+ void
+ sortUnflushed(void);
+
+ void
+ flush(void);
+
+ void
+ compactTrees(void);
+
+ void
+ finalize(void);
};
@@ -117,22 +174,33 @@ public:
FakeMemTreeOccMgr _mgr;
FakeMemTreeOccFactory(const Schema &schema);
- ~FakeMemTreeOccFactory();
- FakePosting::SP make(const FakeWord &fw) override;
- void setup(const std::vector<const FakeWord *> &fws) override;
+ virtual
+ ~FakeMemTreeOccFactory(void);
+
+ virtual FakePosting::SP
+ make(const FakeWord &fw) override;
+
+ virtual void
+ setup(const std::vector<const FakeWord *> &fws) override;
};
class FakeMemTreeOcc2Factory : public FakeMemTreeOccFactory
{
public:
FakeMemTreeOcc2Factory(const Schema &schema);
- ~FakeMemTreeOcc2Factory();
- FakePosting::SP make(const FakeWord &fw) override;
- void setup(const std::vector<const FakeWord *> &fws) override;
+ virtual
+ ~FakeMemTreeOcc2Factory(void);
+
+ virtual FakePosting::SP
+ make(const FakeWord &fw) override;
+
+ virtual void
+ setup(const std::vector<const FakeWord *> &fws) override;
};
+
/*
* Updateable memory tree format.
*/
@@ -167,18 +235,51 @@ public:
const FakeMemTreeOccMgr &mgr,
const char *suffix);
- ~FakeMemTreeOcc();
+ ~FakeMemTreeOcc(void);
+
+ static void
+ forceLink(void);
+
+ /*
+ * Size of posting list, in bits.
+ */
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ /*
+ * Single posting list performance, without feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScan(void) const override;
- static void forceLink();
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- int lowLevelSinglePostingScan() const override;
- int lowLevelSinglePostingScanUnpack() const override;
- int lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
- int lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
- queryeval::SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+ /*
+ * Single posting list performance, with feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScanUnpack(void) const override;
+
+ /*
+ * Two posting lists performance (same format) without feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
+
+ /*
+ * Two posting lists performance (same format) with feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
+
+
+ /*
+ * Iterator factory, for current query evaluation framework.
+ */
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
} // namespace fakedata
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.h
index f88df381d92..5e146b5705a 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.h
@@ -4,9 +4,11 @@
#include "fakeword.h"
#include "fakeposting.h"
-namespace search {
+namespace search
+{
-namespace fakedata {
+namespace fakedata
+{
/*
* YST style compression of docid list.
@@ -20,19 +22,52 @@ private:
size_t _bitSize;
public:
FakeZcbFilterOcc(const FakeWord &fw);
- ~FakeZcbFilterOcc();
- static void forceLink();
+ ~FakeZcbFilterOcc(void);
+
+ static void
+ forceLink(void);
+
+ /*
+ * Size of posting list, in bits.
+ */
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ /*
+ * Single posting list performance, without feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScan(void) const override;
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- int lowLevelSinglePostingScan() const override;
- int lowLevelSinglePostingScanUnpack() const override;
- int lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
- int lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
- queryeval::SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+ /*
+ * Single posting list performance, with feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScanUnpack(void) const override;
+
+ /*
+ * Two posting lists performance (same format) without feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
+
+ /*
+ * Two posting lists performance (same format) with feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
+
+
+ /*
+ * Iterator factory, for current query evaluation framework.
+ */
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
} // namespace fakedata
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
index ee9bed6ba02..dfd47889513 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
@@ -1,8 +1,16 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
+#include <vespa/log/log.h>
+LOG_SETUP(".fakezcfilterocc");
#include "fakezcfilterocc.h"
-#include "fpfactory.h"
+#include <vespa/searchlib/bitcompression/compression.h>
+#include <vespa/searchlib/bitcompression/posocccompression.h>
#include <vespa/searchlib/diskindex/zcposocciterators.h>
+#include <vespa/searchlib/index/docidandfeatures.h>
+#include <vespa/searchlib/index/postinglistcounts.h>
+#include "fpfactory.h"
+
using search::fef::TermFieldMatchData;
using search::fef::TermFieldMatchDataArray;
@@ -18,9 +26,11 @@ using search::bitcompression::FeatureEncodeContext;
using search::ComprFileWriteContext;
using namespace search::diskindex;
-namespace search {
+namespace search
+{
-namespace fakedata {
+namespace fakedata
+{
#define L1SKIPSTRIDE 16
@@ -759,8 +769,10 @@ class FakeZcSkipFilterOcc : public FakeZcFilterOcc
public:
FakeZcSkipFilterOcc(const FakeWord &fw);
- ~FakeZcSkipFilterOcc();
- SearchIterator *createIterator(const TermFieldMatchDataArray &matchData) const override;
+ ~FakeZcSkipFilterOcc(void);
+
+ virtual SearchIterator *
+ createIterator(const TermFieldMatchDataArray &matchData) const override;
};
static FPFactoryInit
@@ -1372,11 +1384,17 @@ class FakeEGCompr64PosOcc : public FakeZcFilterOcc
{
public:
FakeEGCompr64PosOcc(const FakeWord &fw);
- ~FakeEGCompr64PosOcc();
+
+ ~FakeEGCompr64PosOcc(void);
+
void setup(const FakeWord &fw);
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- SearchIterator *createIterator(const TermFieldMatchDataArray &matchData) const override;
+
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ virtual SearchIterator *
+ createIterator(const TermFieldMatchDataArray &matchData) const override;
};
@@ -1470,7 +1488,7 @@ FakeEGCompr64PosOcc<bigEndian>::setup(const FakeWord &fw)
template <bool bigEndian>
size_t
-FakeEGCompr64PosOcc<bigEndian>::bitSize() const
+FakeEGCompr64PosOcc<bigEndian>::bitSize(void) const
{
return _compressedBits;
}
@@ -1478,7 +1496,7 @@ FakeEGCompr64PosOcc<bigEndian>::bitSize() const
template <bool bigEndian>
bool
-FakeEGCompr64PosOcc<bigEndian>::hasWordPositions() const
+FakeEGCompr64PosOcc<bigEndian>::hasWordPositions(void) const
{
return true;
}
@@ -1499,11 +1517,17 @@ class FakeEG2Compr64PosOcc : public FakeZcFilterOcc
{
public:
FakeEG2Compr64PosOcc(const FakeWord &fw);
- ~FakeEG2Compr64PosOcc();
+
+ ~FakeEG2Compr64PosOcc(void);
+
void setup(const FakeWord &fw);
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ virtual SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
@@ -1626,11 +1650,15 @@ class FakeZcSkipPosOcc : public FakeZcFilterOcc
search::index::PostingListCounts _counts;
public:
FakeZcSkipPosOcc(const FakeWord &fw);
- ~FakeZcSkipPosOcc();
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- SearchIterator *createIterator(const TermFieldMatchDataArray &matchData) const override;
+ ~FakeZcSkipPosOcc(void);
+
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ virtual SearchIterator *
+ createIterator(const TermFieldMatchDataArray &matchData) const override;
};
@@ -1645,14 +1673,14 @@ FakeZcSkipPosOcc<bigEndian>::FakeZcSkipPosOcc(const FakeWord &fw)
template <bool bigEndian>
-FakeZcSkipPosOcc<bigEndian>::~FakeZcSkipPosOcc()
+FakeZcSkipPosOcc<bigEndian>::~FakeZcSkipPosOcc(void)
{
}
template <bool bigEndian>
size_t
-FakeZcSkipPosOcc<bigEndian>::bitSize() const
+FakeZcSkipPosOcc<bigEndian>::bitSize(void) const
{
return _compressedBits -
_l1SkipSize - _l2SkipSize - _l3SkipSize - _l4SkipSize;
@@ -1661,7 +1689,7 @@ FakeZcSkipPosOcc<bigEndian>::bitSize() const
template <bool bigEndian>
bool
-FakeZcSkipPosOcc<bigEndian>::hasWordPositions() const
+FakeZcSkipPosOcc<bigEndian>::hasWordPositions(void) const
{
return true;
}
@@ -1686,10 +1714,15 @@ class FakeZc2SkipPosOcc : public FakeZcFilterOcc
search::index::PostingListCounts _counts;
public:
FakeZc2SkipPosOcc(const FakeWord &fw);
- ~FakeZc2SkipPosOcc();
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- SearchIterator *createIterator(const TermFieldMatchDataArray &matchData) const override;
+
+ ~FakeZc2SkipPosOcc(void);
+
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ virtual SearchIterator *
+ createIterator(const TermFieldMatchDataArray &matchData) const override;
};
@@ -1704,14 +1737,14 @@ FakeZc2SkipPosOcc<bigEndian>::FakeZc2SkipPosOcc(const FakeWord &fw)
template <bool bigEndian>
-FakeZc2SkipPosOcc<bigEndian>::~FakeZc2SkipPosOcc()
+FakeZc2SkipPosOcc<bigEndian>::~FakeZc2SkipPosOcc(void)
{
}
template <bool bigEndian>
size_t
-FakeZc2SkipPosOcc<bigEndian>::bitSize() const
+FakeZc2SkipPosOcc<bigEndian>::bitSize(void) const
{
return _compressedBits -
_l1SkipSize - _l2SkipSize - _l3SkipSize - _l4SkipSize;
@@ -1720,7 +1753,7 @@ FakeZc2SkipPosOcc<bigEndian>::bitSize() const
template <bool bigEndian>
bool
-FakeZc2SkipPosOcc<bigEndian>::hasWordPositions() const
+FakeZc2SkipPosOcc<bigEndian>::hasWordPositions(void) const
{
return true;
}
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h
index 5d81e37001e..65ac3ead5d1 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h
@@ -1,14 +1,17 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+
#include "fakeword.h"
#include "fakeposting.h"
#include <vespa/searchlib/bitcompression/compression.h>
#include <vespa/searchlib/bitcompression/posocccompression.h>
-namespace search {
+namespace search
+{
-namespace fakedata {
+namespace fakedata
+{
/*
* YST style compression of docid list.
@@ -35,29 +38,70 @@ protected:
void setup(const FakeWord &fw, bool doFeatures, bool dynamicK);
template <bool bigEndian>
- void setupT(const FakeWord &fw, bool doFeatures, bool dynamicK);
+ void
+ setupT(const FakeWord &fw, bool doFeatures, bool dynamicK);
public:
FakeZcFilterOcc(const FakeWord &fw);
- FakeZcFilterOcc(const FakeWord &fw, bool bigEndian, const char *nameSuffix);
- ~FakeZcFilterOcc();
-
- static void forceLink();
-
- size_t bitSize() const override;
- bool hasWordPositions() const override;
- size_t skipBitSize() const override;
- size_t l1SkipBitSize() const override;
- size_t l2SkipBitSize() const override;
- size_t l3SkipBitSize() const override;
- size_t l4SkipBitSize() const override;
- int lowLevelSinglePostingScan() const override;
- int lowLevelSinglePostingScanUnpack() const override;
- int lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
- int lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
- queryeval::SearchIterator *createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
+
+ FakeZcFilterOcc(const FakeWord &fw,
+ bool bigEndian,
+ const char *nameSuffix);
+
+ ~FakeZcFilterOcc(void);
+
+ static void
+ forceLink(void);
+
+ /*
+ * Size of posting list, in bits.
+ */
+ size_t bitSize(void) const override;
+
+ virtual bool hasWordPositions(void) const override;
+
+ /*
+ * Size of posting skip list, in bits.
+ */
+ size_t skipBitSize(void) const override;
+ size_t l1SkipBitSize(void) const override;
+ size_t l2SkipBitSize(void) const override;
+ size_t l3SkipBitSize(void) const override;
+ size_t l4SkipBitSize(void) const override;
+
+ /*
+ * Single posting list performance, without feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScan(void) const override;
+
+ /*
+ * Single posting list performance, with feature unpack.
+ */
+ virtual int
+ lowLevelSinglePostingScanUnpack(void) const override;
+
+ /*
+ * Two posting lists performance (same format) without feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScan(const FakePosting &rhs) const override;
+
+ /*
+ * Two posting lists performance (same format) with feature unpack.
+ */
+ virtual int
+ lowLevelAndPairPostingScanUnpack(const FakePosting &rhs) const override;
+
+
+ /*
+ * Iterator factory, for current query evaluation framework.
+ */
+ virtual search::queryeval::SearchIterator *
+ createIterator(const fef::TermFieldMatchDataArray &matchData) const override;
};
} // namespace fakedata
} // namespace search
+
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
index aa67eb1b933..bf02e815da8 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
@@ -41,7 +41,9 @@ public:
(void) schema;
}
- FakePosting::SP make(const FakeWord &fw) override {
+ virtual FakePosting::SP
+ make(const FakeWord &fw) override
+ {
return FakePosting::SP(new P(fw));
}
};
diff --git a/searchlib/src/vespa/searchlib/transactionlog/nosyncproxy.h b/searchlib/src/vespa/searchlib/transactionlog/nosyncproxy.h
index 9eccdbaff0e..a41b6c27c5d 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/nosyncproxy.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/nosyncproxy.h
@@ -4,16 +4,24 @@
#include "syncproxy.h"
-namespace search {
-namespace transactionlog {
+namespace search
+{
+namespace transactionlog
+{
class NoSyncProxy : public SyncProxy
{
public:
- NoSyncProxy();
- ~NoSyncProxy();
- void sync(SerialNum syncTo) override;
+ NoSyncProxy(void);
+
+ virtual
+ ~NoSyncProxy(void);
+
+ virtual void
+ sync(SerialNum syncTo) override;
};
}
+
}
+
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogclient.h b/searchlib/src/vespa/searchlib/transactionlog/translogclient.h
index 802933b7d81..e219f5cffbc 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogclient.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogclient.h
@@ -66,10 +66,10 @@ public:
Subscriber(const vespalib::string & domain, TransLogClient & tlc, Callback & callBack);
bool subscribe(const SerialNum & from);
- ~Subscriber();
- RPC::Result visit(const Packet & packet) override { return _callback.receive(packet); }
- void inSync() override { _callback.inSync(); }
- void eof() override { _callback.eof(); }
+ virtual ~Subscriber();
+ virtual RPC::Result visit(const Packet & packet) override { return _callback.receive(packet); }
+ virtual void inSync() override { _callback.inSync(); }
+ virtual void eof() override { _callback.eof(); }
private:
Callback & _callback;
};
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
index 105a6ca643b..8e64b17ecb4 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.h
@@ -41,7 +41,7 @@ public:
uint64_t setDomainPartSize();
DomainStats getDomainStats() const;
- void commit(const vespalib::string & domainName, const Packet & packet) override;
+ virtual void commit(const vespalib::string & domainName, const Packet & packet) override;
class Session
@@ -56,8 +56,8 @@ public:
};
private:
- bool onStop() override;
- void run() override;
+ virtual bool onStop() override;
+ virtual void run() override;
void exportRPC(FRT_Supervisor & supervisor);
void relayToThreadRPC(FRT_RPCRequest *req);
diff --git a/searchlib/src/vespa/searchlib/util/rand48.h b/searchlib/src/vespa/searchlib/util/rand48.h
index 6d27d179a74..d8bfa683f15 100644
--- a/searchlib/src/vespa/searchlib/util/rand48.h
+++ b/searchlib/src/vespa/searchlib/util/rand48.h
@@ -1,9 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright (C) 2003 Fast Search & Transfer ASA
+// Copyright (C) 2003 Overture Services Norway AS
#pragma once
-#include <cstdlib>
-#include <cstdint>
namespace search {
@@ -26,14 +26,14 @@ public:
{
srand48(0x1234abcd);
};
- void iterate() {
+ void iterate(void) {
_state = (UINT64_C(0x5DEECE66D) * _state + 0xb) &
UINT64_C(0xFFFFFFFFFFFF);
}
/*
* Return value from 0 to 2^31 - 1
*/
- long lrand48() {
+ long lrand48(void) {
iterate();
return static_cast<long>(_state >> 17);
}