summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-11-14 18:45:27 +0100
committerHenning Baldersheim <balder@oath.com>2018-11-14 21:06:49 +0100
commit53a44efd14c23410adec85f2a069d5e14c2e3a4b (patch)
tree5e853dc862de101d4cf88b31d65626743c83cbcf /searchlib
parent54c6c0c277ba439a6e54e677c7db14821414ffad (diff)
Clean up unused code
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/common/tunefileinfo.h4
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/bitvectorfile.h9
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/bitvectoridxfile.h4
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/diskindex.h2
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fileheader.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fileheader.h65
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fusion.h164
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/indexbuilder.h7
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/pagedict4file.cpp37
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/pagedict4file.h111
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/wordnummapper.cpp33
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/wordnummapper.h19
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h8
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.h23
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h9
-rw-r--r--searchlib/src/vespa/searchlib/test/diskindex/testdiskindex.cpp17
18 files changed, 119 insertions, 415 deletions
diff --git a/searchlib/src/vespa/searchlib/common/tunefileinfo.h b/searchlib/src/vespa/searchlib/common/tunefileinfo.h
index edd6d29dd58..d431a9cf78f 100644
--- a/searchlib/src/vespa/searchlib/common/tunefileinfo.h
+++ b/searchlib/src/vespa/searchlib/common/tunefileinfo.h
@@ -20,7 +20,6 @@ private:
public:
TuneFileSeqRead() : _tuneControl(NORMAL) { }
- void setWantNormal() { _tuneControl = NORMAL; }
void setWantDirectIO() { _tuneControl = DIRECTIO; }
bool getWantDirectIO() const { return _tuneControl == DIRECTIO; }
@@ -64,8 +63,6 @@ private:
public:
TuneFileSeqWrite() : _tuneControl(NORMAL) { }
- void setWantNormal() { _tuneControl = NORMAL; }
- void setWantSyncWrites() { _tuneControl = OSYNC; }
void setWantDirectIO() { _tuneControl = DIRECTIO; }
bool getWantDirectIO() const { return _tuneControl == DIRECTIO; }
bool getWantSyncWrites() const { return _tuneControl == OSYNC; }
@@ -108,7 +105,6 @@ public:
_advise(0)
{ }
- void setMemoryMapFlags(int flags) { _mmapFlags = flags; }
void setAdvise(int advise) { _advise = advise; }
void setWantMemoryMap() { _tuneControl = MMAP; }
void setWantDirectIO() { _tuneControl = DIRECTIO; }
diff --git a/searchlib/src/vespa/searchlib/diskindex/bitvectorfile.h b/searchlib/src/vespa/searchlib/diskindex/bitvectorfile.h
index 17fb59a1aa5..071cf37443d 100644
--- a/searchlib/src/vespa/searchlib/diskindex/bitvectorfile.h
+++ b/searchlib/src/vespa/searchlib/diskindex/bitvectorfile.h
@@ -67,13 +67,8 @@ public:
BitVectorCandidate(uint32_t docIdLimit)
- : _array(),
- _numDocs(0u),
- _bitVectorLimit(BitVectorFileWrite::getBitVectorLimit(docIdLimit)),
- _bv(BitVector::create(docIdLimit))
- {
- _array.reserve(_bitVectorLimit);
- }
+ : BitVectorCandidate(docIdLimit, BitVectorFileWrite::getBitVectorLimit(docIdLimit))
+ { }
~BitVectorCandidate();
diff --git a/searchlib/src/vespa/searchlib/diskindex/bitvectoridxfile.h b/searchlib/src/vespa/searchlib/diskindex/bitvectoridxfile.h
index 98ca1698b14..47894764976 100644
--- a/searchlib/src/vespa/searchlib/diskindex/bitvectoridxfile.h
+++ b/searchlib/src/vespa/searchlib/diskindex/bitvectoridxfile.h
@@ -40,7 +40,7 @@ public:
void open(const vespalib::string &name, uint32_t docIdLimit,
const TuneFileSeqWrite &tuneFileWrite,
- const search::common::FileHeaderContext &fileHeaderContext);
+ const common::FileHeaderContext &fileHeaderContext);
@@ -59,7 +59,7 @@ public:
return ret;
}
- void makeIdxHeader(const search::common::FileHeaderContext &fileHeaderContext);
+ void makeIdxHeader(const common::FileHeaderContext &fileHeaderContext);
void updateIdxHeader(uint64_t fileBitSize);
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/diskindex.h b/searchlib/src/vespa/searchlib/diskindex/diskindex.h
index c4c8dfa6e6b..382f04ffdbd 100644
--- a/searchlib/src/vespa/searchlib/diskindex/diskindex.h
+++ b/searchlib/src/vespa/searchlib/diskindex/diskindex.h
@@ -9,7 +9,6 @@
#include <vespa/vespalib/stllike/string.h>
#include <vespa/vespalib/stllike/cache.h>
-
namespace search::diskindex {
/**
@@ -148,7 +147,6 @@ public:
const index::Schema &getSchema() const { return _schema; }
const vespalib::string &getIndexDir() const { return _indexDir; }
- const TuneFileSearch &getTuneFileSearch() const { return _tuneFileSearch; }
/**
* Needed for the Cache::BackingStore interface.
diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
index a85272cf142..abc7d573db3 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
@@ -170,14 +170,12 @@ FieldWriter::close()
return ret;
}
-
void
FieldWriter::setFeatureParams(const PostingListParams &params)
{
_posoccfile->setFeatureParams(params);
}
-
void
FieldWriter::getFeatureParams(PostingListParams &params)
{
@@ -197,14 +195,14 @@ static const char *termOccNames[] =
"dictionary.spdat",
"dictionary.ssdat",
"dictionary.words",
- NULL,
+ nullptr,
};
void
FieldWriter::remove(const vespalib::string &prefix)
{
- for (const char **j = termOccNames; *j != NULL; ++j) {
+ for (const char **j = termOccNames; *j != nullptr; ++j) {
vespalib::string tmpName = prefix + *j;
FastOS_File::Delete(tmpName.c_str());
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/fileheader.cpp b/searchlib/src/vespa/searchlib/diskindex/fileheader.cpp
index cfdaa22dbda..5861f50d738 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fileheader.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/fileheader.cpp
@@ -16,9 +16,7 @@ using bitcompression::FeatureDecodeContextBE;
FileHeader::FileHeader()
: _bigEndian(false),
- _hostEndian(false),
_completed(false),
- _allowNoFileBitSize(false),
_version(0),
_headerLen(0),
_fileBitSize(0),
@@ -73,7 +71,7 @@ FileHeader::taste(const vespalib::string &name,
return false;
}
}
- _hostEndian = _bigEndian == (htonl(1) == 1);
+
if (header.hasTag("frozen")) {
_completed = header.getTag("frozen").asInteger() != 0;
} else {
@@ -92,7 +90,7 @@ FileHeader::taste(const vespalib::string &name,
name.c_str(), _fileBitSize, fileSize);
LOG_ABORT("should not be reached");
}
- } else if (!_allowNoFileBitSize) {
+ } else {
LOG(error, "FileHeader::taste(\"%s\"): Missing fileBitSize tag", name.c_str());
return false;
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/fileheader.h b/searchlib/src/vespa/searchlib/diskindex/fileheader.h
index 7567b2c8ed8..2ddf6b9c85b 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fileheader.h
+++ b/searchlib/src/vespa/searchlib/diskindex/fileheader.h
@@ -6,16 +6,13 @@
#include <vespa/vespalib/stllike/string.h>
#include <vespa/searchlib/common/tunefileinfo.h>
-namespace search::diskindex
-{
+namespace search::diskindex {
class FileHeader
{
private:
bool _bigEndian;
- bool _hostEndian;
bool _completed;
- bool _allowNoFileBitSize;
uint32_t _version;
uint32_t _headerLen;
uint64_t _fileBitSize;
@@ -23,62 +20,14 @@ private:
public:
FileHeader();
-
~FileHeader();
- bool
- taste(const vespalib::string &name,
- const TuneFileSeqRead &tuneFileRead);
-
- bool
- taste(const vespalib::string &name,
- const TuneFileSeqWrite &tuneFileWrite);
-
- bool
- taste(const vespalib::string &name,
- const TuneFileRandRead &tuneFileSearch);
-
- bool
- getBigEndian() const
- {
- return _bigEndian;
- }
-
- bool
- getHostEndian() const
- {
- return _hostEndian;
- }
-
- uint32_t
- getVersion() const
- {
- return _version;
- }
-
- uint32_t
- getHeaderLen() const
- {
- return _headerLen;
- }
-
- const std::vector<vespalib::string> &
- getFormats() const
- {
- return _formats;
- }
-
- bool
- getCompleted() const
- {
- return _completed;
- }
-
- void
- setAllowNoFileBitSize()
- {
- _allowNoFileBitSize = true;
- }
+ bool taste(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead);
+ bool taste(const vespalib::string &name, const TuneFileSeqWrite &tuneFileWrite);
+ bool taste(const vespalib::string &name, const TuneFileRandRead &tuneFileSearch);
+ bool getBigEndian() const { return _bigEndian; }
+ uint32_t getVersion() const { return _version; }
+ const std::vector<vespalib::string> &getFormats() const { return _formats; }
};
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/fusion.h b/searchlib/src/vespa/searchlib/diskindex/fusion.h
index 94270317099..9b5806d93d9 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fusion.h
+++ b/searchlib/src/vespa/searchlib/diskindex/fusion.h
@@ -16,10 +16,8 @@ class PostingPriorityQueue;
}
namespace search::common {
-
-class TuneFileIndexing;
-class FileHeaderContext;
-
+ class TuneFileIndexing;
+ class FileHeaderContext;
}
namespace search::diskindex {
@@ -50,68 +48,24 @@ public:
{
}
- virtual
- ~FusionInputIndex()
- {
- }
-
- void
- setPath(const vespalib::string &path)
- {
- _path = path;
- }
-
- const vespalib::string &
- getPath() const
- {
- return _path;
- }
-
- void
- setTmpPath(const vespalib::string &tmpPath)
- {
- _tmpPath = tmpPath;
- }
-
- const vespalib::string &
- getTmpPath() const
- {
- return _tmpPath;
- }
+ virtual ~FusionInputIndex() {}
- const WordNumMapping &
- getWordNumMapping() const
- {
- return _wordNumMapping;
- }
+ void setPath(const vespalib::string &path) { _path = path; }
+ const vespalib::string & getPath() const { return _path; }
+ void setTmpPath(const vespalib::string &tmpPath) { _tmpPath = tmpPath; }
+ const vespalib::string &getTmpPath() const { return _tmpPath; }
+ const WordNumMapping & getWordNumMapping() const { return _wordNumMapping; }
+ WordNumMapping & getWordNumMapping() { return _wordNumMapping; }
+ const DocIdMapping & getDocIdMapping() const { return _docIdMapping; }
- WordNumMapping &
- getWordNumMapping()
- {
- return _wordNumMapping;
- }
-
- const DocIdMapping &
- getDocIdMapping() const
- {
- return _docIdMapping;
- }
-
- DocIdMapping &
- getDocIdMapping()
- {
- return _docIdMapping;
- }
+ DocIdMapping & getDocIdMapping() { return _docIdMapping; }
- const index::Schema &
- getSchema() const
- {
- assert(_schema.get() != nullptr);
- return *_schema.get();
+ const index::Schema &getSchema() const {
+ assert(_schema);
+ return *_schema;
}
- void
- setSchema(const index::Schema::SP &schema);
+ void setSchema(const index::Schema::SP &schema);
};
@@ -130,45 +84,28 @@ public:
const TuneFileIndexing &tuneFileIndexing,
const search::common::FileHeaderContext &fileHeaderContext);
- virtual
- ~Fusion();
+ virtual ~Fusion();
void SetOldIndexList(const std::vector<vespalib::string> &oldIndexList);
-
bool mergeFields();
bool mergeField(uint32_t id);
bool openInputFieldReaders(const SchemaUtil::IndexIterator &index,
std::vector<std::unique_ptr<FieldReader> > &
readers);
- bool openFieldWriter(const SchemaUtil::IndexIterator &index,
- FieldWriter &writer);
- bool setupMergeHeap(const std::vector<std::unique_ptr<FieldReader> > &
- readers,
- FieldWriter &writer,
- PostingPriorityQueue<FieldReader> &heap);
+ bool openFieldWriter(const SchemaUtil::IndexIterator &index, FieldWriter & writer);
+ bool setupMergeHeap(const std::vector<std::unique_ptr<FieldReader> > & readers,
+ FieldWriter &writer, PostingPriorityQueue<FieldReader> &heap);
bool mergeFieldPostings(const SchemaUtil::IndexIterator &index);
bool openInputWordReaders(const SchemaUtil::IndexIterator &index,
- std::vector<
- std::unique_ptr<DictionaryWordReader> > &
- readers,
+ std::vector<std::unique_ptr<DictionaryWordReader> > &readers,
PostingPriorityQueue<DictionaryWordReader> &heap);
bool renumberFieldWordIds(const SchemaUtil::IndexIterator &index);
-
- void
- setSchema(const Schema *schema);
-
- void
- setOutDir(const vespalib::string &outDir);
-
+ void setSchema(const Schema *schema);
+ void setOutDir(const vespalib::string &outDir);
void makeTmpDirs();
-
bool CleanTmpDirs();
-
- bool
- readSchemaFiles();
-
- bool
- checkSchemaCompat();
+ bool readSchemaFiles();
+ bool checkSchemaCompat();
template <class Reader, class Writer>
static bool
@@ -177,12 +114,6 @@ public:
protected:
bool ReadMappingFiles(const SchemaUtil::IndexIterator *index);
bool ReleaseMappingTables();
-
- static unsigned int noGen()
- {
- return static_cast<unsigned int>(-1);
- }
-
protected:
typedef FusionInputIndex OldIndex;
@@ -208,51 +139,28 @@ protected:
vespalib::string _outDir;
const TuneFileIndexing &_tuneFileIndexing;
- const search::common::FileHeaderContext &_fileHeaderContext;
+ const common::FileHeaderContext &_fileHeaderContext;
- const Schema &
- getSchema() const
- {
+ const Schema &getSchema() const {
assert(_schema != nullptr);
return *_schema;
}
public:
- void
- setDocIdLimit(uint32_t docIdLimit)
- {
- _docIdLimit = docIdLimit;
- }
-
- void
- setNumWordIds(uint64_t numWordIds)
- {
- _numWordIds = numWordIds;
- }
-
- std::vector<std::shared_ptr<OldIndex> > &
- getOldIndexes()
- {
- return _oldIndexes;
- }
-
- virtual OldIndex *
- allocOldIndex()
- {
- return new OldIndex;
- }
+ void setDocIdLimit(uint32_t docIdLimit) { _docIdLimit = docIdLimit; }
+ std::vector<std::shared_ptr<OldIndex> > & getOldIndexes() { return _oldIndexes; }
+ virtual OldIndex *allocOldIndex() { return new OldIndex; }
/**
* This method is used by new indexing pipeline to merge indexes.
*/
- static bool
- merge(const Schema &schema,
- const vespalib::string &dir,
- const std::vector<vespalib::string> &sources,
- const SelectorArray &docIdSelector,
- bool dynamicKPosOccFormat,
- const TuneFileIndexing &tuneFileIndexing,
- const search::common::FileHeaderContext &fileHeaderContext);
+ static bool merge(const Schema &schema,
+ const vespalib::string &dir,
+ const std::vector<vespalib::string> &sources,
+ const SelectorArray &docIdSelector,
+ bool dynamicKPosOccFormat,
+ const TuneFileIndexing &tuneFileIndexing,
+ const common::FileHeaderContext &fileHeaderContext);
};
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.h b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.h
index 757a538cbe6..fa818bf08e6 100644
--- a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.h
+++ b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.h
@@ -66,10 +66,9 @@ public:
vespalib::string appendToPrefix(vespalib::stringref name);
- void
- open(uint32_t docIdLimit, uint64_t numWordIds,
- const TuneFileIndexing &tuneFileIndexing,
- const search::common::FileHeaderContext &fileHandleContext);
+ void open(uint32_t docIdLimit, uint64_t numWordIds,
+ const TuneFileIndexing &tuneFileIndexing,
+ const common::FileHeaderContext &fileHandleContext);
void close();
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/pagedict4file.cpp b/searchlib/src/vespa/searchlib/diskindex/pagedict4file.cpp
index 93d78bd44af..7621b178634 100644
--- a/searchlib/src/vespa/searchlib/diskindex/pagedict4file.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/pagedict4file.cpp
@@ -290,9 +290,9 @@ PageDict4FileSeqRead::getParams(PostingListParams &params)
PageDict4FileSeqWrite::PageDict4FileSeqWrite()
- : _pWriter(nullptr),
- _spWriter(nullptr),
- _ssWriter(nullptr),
+ : _pWriter(),
+ _spWriter(),
+ _ssWriter(),
_pe(),
_pWriteContext(_pe),
_pfile(),
@@ -312,17 +312,11 @@ PageDict4FileSeqWrite::PageDict4FileSeqWrite()
}
-PageDict4FileSeqWrite::~PageDict4FileSeqWrite()
-{
- delete _pWriter;
- delete _spWriter;
- delete _ssWriter;
-}
+PageDict4FileSeqWrite::~PageDict4FileSeqWrite() = default;
void
-PageDict4FileSeqWrite::writeWord(vespalib::stringref word,
- const PostingListCounts &counts)
+PageDict4FileSeqWrite::writeWord(vespalib::stringref word, const PostingListCounts &counts)
{
_pWriter->addCounts(word, counts);
}
@@ -333,9 +327,9 @@ PageDict4FileSeqWrite::open(const vespalib::string &name,
const TuneFileSeqWrite &tuneFileWrite,
const FileHeaderContext &fileHeaderContext)
{
- assert(_pWriter == nullptr);
- assert(_spWriter == nullptr);
- assert(_ssWriter == nullptr);
+ assert( ! _pWriter);
+ assert( ! _spWriter);
+ assert( ! _ssWriter);
vespalib::string pname = name + ".pdat";
vespalib::string spname = name + ".spdat";
@@ -401,9 +395,9 @@ PageDict4FileSeqWrite::open(const vespalib::string &name,
makeSPHeader(fileHeaderContext);
makeSSHeader(fileHeaderContext);
- _ssWriter = new SSWriter(_sse);
- _spWriter = new SPWriter(*_ssWriter, _spe);
- _pWriter = new PWriter(*_spWriter, _pe);
+ _ssWriter = std::make_unique<SSWriter>(_sse);
+ _spWriter = std::make_unique<SPWriter>(*_ssWriter, _spe);
+ _pWriter = std::make_unique<PWriter>(*_spWriter, _pe);
_spWriter->setup();
_pWriter->setup();
@@ -443,12 +437,9 @@ PageDict4FileSeqWrite::close()
updateSPHeader(usedSPBits);
updateSSHeader(usedSSBits);
- delete _pWriter;
- delete _spWriter;
- delete _ssWriter;
- _pWriter = nullptr;
- _spWriter = nullptr;
- _ssWriter = nullptr;
+ _pWriter.reset();
+ _spWriter.reset();
+ _ssWriter.reset();
return true;
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/pagedict4file.h b/searchlib/src/vespa/searchlib/diskindex/pagedict4file.h
index e176ba26d88..2363c89ac3b 100644
--- a/searchlib/src/vespa/searchlib/diskindex/pagedict4file.h
+++ b/searchlib/src/vespa/searchlib/diskindex/pagedict4file.h
@@ -50,44 +50,22 @@ class PageDict4FileSeqRead : public index::DictionaryFileSeqRead
uint64_t _wordNum;
- void
- readSSHeader();
-
- void
- readSPHeader();
-
- void
- readPHeader();
-
+ void readSSHeader();
+ void readSPHeader();
+ void readPHeader();
public:
PageDict4FileSeqRead();
-
- virtual
- ~PageDict4FileSeqRead();
+ ~PageDict4FileSeqRead() override;
/**
* Read word and counts. Only nonzero counts are returned. If at
* end of dictionary then noWordNumHigh() is returned as word number.
*/
- virtual void
- readWord(vespalib::string &word,
- uint64_t &wordNum,
- PostingListCounts &counts) override;
-
- virtual bool open(const vespalib::string &name,
- const TuneFileSeqRead &tuneFileRead) override;
-
- /**
- * Close dictionary file.
- */
- virtual bool close() override;
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(index::PostingListParams &params) override;
+ void readWord(vespalib::string &word, uint64_t &wordNum, PostingListCounts &counts) override;
+ bool open(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead) override;
+ bool close() override;
+ void getParams(index::PostingListParams &params) override;
};
/**
@@ -104,10 +82,11 @@ class PageDict4FileSeqWrite : public index::DictionaryFileSeqWrite
typedef bitcompression::PageDict4PWriter PWriter;
typedef index::PostingListCounts PostingListCounts;
+ using FileHeaderContext = common::FileHeaderContext;
- PWriter *_pWriter;
- SPWriter *_spWriter;
- SSWriter *_ssWriter;
+ std::unique_ptr<PWriter> _pWriter;
+ std::unique_ptr<SPWriter> _spWriter;
+ std::unique_ptr<SSWriter> _ssWriter;
EC _pe;
ComprFileWriteContext _pWriteContext;
@@ -125,69 +104,29 @@ class PageDict4FileSeqWrite : public index::DictionaryFileSeqWrite
uint32_t _spHeaderLen; // Length of header for sparse page file (bytes)
uint32_t _ssHeaderLen; // Length of header for sparse sparse file (bytes)
- void
- writeIndexNames(vespalib::GenericHeader &header);
-
- void
- writeSSSubHeader(vespalib::GenericHeader &header);
-
- void
- makePHeader(const search::common::FileHeaderContext &fileHeaderContext);
-
- void
- makeSPHeader(const search::common::FileHeaderContext &fileHeaderContext);
-
- void
- makeSSHeader(const search::common::FileHeaderContext &fileHeaderContext);
-
- void
- updatePHeader(uint64_t fileBitSize);
-
- void
- updateSPHeader(uint64_t fileBitSize);
-
- void
- updateSSHeader(uint64_t fileBitSize);
-
+ void writeSSSubHeader(vespalib::GenericHeader &header);
+ void makePHeader(const FileHeaderContext &fileHeaderContext);
+ void makeSPHeader(const FileHeaderContext &fileHeaderContext);
+ void makeSSHeader(const FileHeaderContext &fileHeaderContext);
+ void updatePHeader(uint64_t fileBitSize);
+ void updateSPHeader(uint64_t fileBitSize);
+ void updateSSHeader(uint64_t fileBitSize);
public:
PageDict4FileSeqWrite();
-
- virtual
~PageDict4FileSeqWrite();
- /**
- * Write word and counts. Only nonzero counts should be supplied.
- */
- virtual void
- writeWord(vespalib::stringref word,
- const PostingListCounts &counts) override;
+ void writeWord(vespalib::stringref word, const PostingListCounts &counts) override;
/**
* Open dictionary file for sequential write. The index with most
* words should be first for optimal compression.
*/
- virtual bool
- open(const vespalib::string &name,
- const TuneFileSeqWrite &tuneFileWrite,
- const search::common::FileHeaderContext &fileHeaderContext) override;
+ bool open(const vespalib::string &name, const TuneFileSeqWrite &tuneFileWrite,
+ const FileHeaderContext &fileHeaderContext) override;
- /**
- * Close dictionary file.
- */
- virtual bool
- close() override;
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const index::PostingListParams &params) override;
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(index::PostingListParams &params) override;
+ bool close() override;
+ void setParams(const index::PostingListParams &params) override;
+ void getParams(index::PostingListParams &params) override;
};
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.cpp b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.cpp
index 3bd879de291..bc911e230bc 100644
--- a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.cpp
@@ -64,37 +64,4 @@ WordNumMapping::setup(uint32_t numWordIds)
_oldDictSize = numWordIds;
}
-
-void
-WordNumMapper::sanityCheck(bool allowHoles)
-{
- uint64_t dictSize = getMaxWordNum();
- uint64_t mappedWordNum = map(0u);
- assert(mappedWordNum == 0u);
- for (uint64_t wordNum = 1; wordNum <= dictSize; ++wordNum) {
- uint64_t prevMappedWordNum = mappedWordNum;
- mappedWordNum = map(wordNum);
- if (mappedWordNum == 0u && allowHoles)
- continue; // In case some words are being removed
- assert(mappedWordNum > prevMappedWordNum);
- (void) prevMappedWordNum;
- }
-}
-
-
-uint64_t
-WordNumMapping::getMaxMappedWordNum() const
-{
- WordNumMapper mapper(*this);
- return mapper.getMaxMappedWordNum();
-}
-
-
-void
-WordNumMapping::sanityCheck(bool allowHoles)
-{
- WordNumMapper mapper(*this);
- mapper.sanityCheck(allowHoles);
-}
-
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
index 8141a16c137..f36d5656bd1 100644
--- a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
+++ b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
@@ -28,7 +28,7 @@ public:
const uint64_t *getOld2NewWordNums() const {
return (_old2newwords.empty())
- ? NULL
+ ? nullptr
: &_old2newwords[0];
}
@@ -37,8 +37,6 @@ public:
void noMappingFile();
void clear();
void setup(uint32_t numWordIds);
- uint64_t getMaxMappedWordNum() const;
- void sanityCheck(bool allowHoles);
};
@@ -55,31 +53,20 @@ class WordNumMapper
public:
WordNumMapper()
- : _old2newwords(NULL),
+ : _old2newwords(nullptr),
_oldDictSize(0)
{}
- WordNumMapper(const WordNumMapping &mapping)
- : _old2newwords(NULL),
- _oldDictSize(0)
- {
- setup(mapping);
- }
-
void setup(const WordNumMapping &mapping) {
_old2newwords = mapping.getOld2NewWordNums();
_oldDictSize = mapping.getOldDictSize();
}
uint64_t map(uint32_t wordNum) const {
- return (_old2newwords != NULL)
+ return (_old2newwords != nullptr)
? _old2newwords[wordNum]
: wordNum;
}
-
- uint64_t getMaxWordNum() const { return _oldDictSize; }
- uint64_t getMaxMappedWordNum() const { return map(_oldDictSize); }
- void sanityCheck(bool allowHoles);
};
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h
index efbc305db7a..41f2b747916 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h
+++ b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h
@@ -19,7 +19,7 @@ private:
public:
Zc4RareWordPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit,
const bitcompression::PosOccFieldsParams *fieldsParams,
- const search::fef::TermFieldMatchDataArray &matchData);
+ const fef::TermFieldMatchDataArray &matchData);
};
@@ -36,7 +36,7 @@ public:
Zc4PosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit,
uint32_t minChunkDocs, const index::PostingListCounts &counts,
const bitcompression::PosOccFieldsParams *fieldsParams,
- const search::fef::TermFieldMatchDataArray &matchData);
+ const fef::TermFieldMatchDataArray &matchData);
};
@@ -52,7 +52,7 @@ private:
public:
ZcRareWordPosOccIterator(Position start, uint64_t bitLength, uint32_t docidLimit,
const bitcompression::PosOccFieldsParams *fieldsParams,
- const search::fef::TermFieldMatchDataArray &matchData);
+ const fef::TermFieldMatchDataArray &matchData);
};
@@ -69,7 +69,7 @@ public:
ZcPosOccIterator(Position start, uint64_t bitLength, uint32_t docidLimit,
uint32_t minChunkDocs, const index::PostingListCounts &counts,
const bitcompression::PosOccFieldsParams *fieldsParams,
- const search::fef::TermFieldMatchDataArray &matchData);
+ const fef::TermFieldMatchDataArray &matchData);
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp
index f355ad6645e..b8d5ee89276 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp
@@ -60,9 +60,6 @@ createIterator(const PostingListCounts &counts,
const search::fef::TermFieldMatchDataArray &matchData,
bool usebitVector) const
{
- (void) counts;
- (void) handle;
- (void) matchData;
(void) usebitVector;
typedef EGPosOccEncodeContext<true> EC;
@@ -171,14 +168,15 @@ bool
ZcPosOccRandRead::
open(const vespalib::string &name, const TuneFileRandRead &tuneFileRead)
{
+ _file->setFAdviseOptions(tuneFileRead.getAdvise());
if (tuneFileRead.getWantMemoryMap()) {
_file->enableMemoryMap(tuneFileRead.getMemoryMapFlags());
- } else if (tuneFileRead.getWantDirectIO())
+ } else if (tuneFileRead.getWantDirectIO()) {
_file->EnableDirectIO();
+ }
bool res = _file->OpenReadOnly(name.c_str());
if (!res) {
- LOG(error, "could not open %s: %s",
- _file->GetFileName(), getLastErrorString().c_str());
+ LOG(error, "could not open %s: %s", _file->GetFileName(), getLastErrorString().c_str());
return false;
}
_fileSize = _file->GetSize();
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.h b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.h
index 18668e7e118..3741f011c30 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.h
+++ b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.h
@@ -37,20 +37,15 @@ public:
* Create iterator for single word. Semantic lifetime of counts and
* handle must exceed lifetime of iterator.
*/
- search::queryeval::SearchIterator *
- createIterator(const PostingListCounts &counts,
- const PostingListHandle &handle,
- const search::fef::TermFieldMatchDataArray &matchData,
- bool usebitVector) const override;
+ queryeval::SearchIterator *
+ createIterator(const PostingListCounts &counts, const PostingListHandle &handle,
+ const fef::TermFieldMatchDataArray &matchData, bool usebitVector) const override;
/**
* Read (possibly partial) posting list into handle.
*/
- void
- readPostingList(const PostingListCounts &counts,
- uint32_t firstSegment,
- uint32_t numSegments,
- PostingListHandle &handle) override;
+ void readPostingList(const PostingListCounts &counts, uint32_t firstSegment,
+ uint32_t numSegments, PostingListHandle &handle) override;
bool open(const vespalib::string &name, const TuneFileRandRead &tuneFileRead) override;
bool close() override;
@@ -68,11 +63,9 @@ public:
* Create iterator for single word. Semantic lifetime of counts and
* handle must exceed lifetime of iterator.
*/
- search::queryeval::SearchIterator *
- createIterator(const PostingListCounts &counts,
- const PostingListHandle &handle,
- const search::fef::TermFieldMatchDataArray &matchData,
- bool usebitVector) const override;
+ queryeval::SearchIterator *
+ createIterator(const PostingListCounts &counts, const PostingListHandle &handle,
+ const fef::TermFieldMatchDataArray &matchData, bool usebitVector) const override;
void readHeader() override;
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h
index 1946796cdbf..97b7e2dc0cc 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h
+++ b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h
@@ -280,18 +280,15 @@ public:
// Counts used for assertions
const PostingListCounts &_counts;
- ZcPostingIterator(uint32_t minChunkDocs,
- bool dynamicK,
- const PostingListCounts &counts,
- const search::fef::TermFieldMatchDataArray &matchData,
- Position start, uint32_t docIdLimit);
+ ZcPostingIterator(uint32_t minChunkDocs, bool dynamicK, const PostingListCounts &counts,
+ const search::fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit);
void doUnpack(uint32_t docId) override;
void readWordStart(uint32_t docIdLimit) override;
void rewind(Position start) override;
- virtual void featureSeek(uint64_t offset) override {
+ void featureSeek(uint64_t offset) override {
_decodeContext->_valI = _featuresValI + (_featuresBitOffset + offset) / 64;
_decodeContext->setupBits((_featuresBitOffset + offset) & 63);
}
diff --git a/searchlib/src/vespa/searchlib/test/diskindex/testdiskindex.cpp b/searchlib/src/vespa/searchlib/test/diskindex/testdiskindex.cpp
index aa6a9727352..f0bb1eb6519 100644
--- a/searchlib/src/vespa/searchlib/test/diskindex/testdiskindex.cpp
+++ b/searchlib/src/vespa/searchlib/test/diskindex/testdiskindex.cpp
@@ -5,15 +5,13 @@
#include <vespa/searchlib/index/dummyfileheadercontext.h>
#include <vespa/vespalib/io/fileutil.h>
-namespace search {
+namespace search::diskindex {
using index::DummyFileHeaderContext;
using index::Schema;
using index::WordDocElementWordPosFeatures;
using index::schema::DataType;
-namespace diskindex {
-
struct Builder
{
search::diskindex::IndexBuilder _ib;
@@ -106,21 +104,14 @@ TestDiskIndex::openIndex(const std::string &dir, bool directio, bool readmmap,
if (readmmap) {
tuneFileRead.setWantMemoryMap();
}
- _index.reset(new DiskIndex(dir));
+ _index = std::make_unique<DiskIndex>(dir);
bool ok(_index->setup(tuneFileRead));
assert(ok);
(void) ok;
}
-TestDiskIndex::TestDiskIndex() :
- _schema(),
- _index()
-{
-}
+TestDiskIndex::TestDiskIndex() = default;
-TestDiskIndex::~TestDiskIndex()
-{
-}
+TestDiskIndex::~TestDiskIndex() = default;
}
-}