Make the test for detecting non-stripped index a bit more specific (look for ":T:" instead of just ":"). Some very old indexes appear to have some ":" characters in them
This commit is contained in:
parent
dfa19108af
commit
3fd3505827
@ -1042,13 +1042,17 @@ bool Db::testDbDir(const string &dir, bool *stripped_p)
|
|||||||
LOGDEB("Db::testDbDir: [" << dir << "]\n");
|
LOGDEB("Db::testDbDir: [" << dir << "]\n");
|
||||||
try {
|
try {
|
||||||
Xapian::Database db(dir);
|
Xapian::Database db(dir);
|
||||||
// If we have terms with a leading ':' it's an
|
// If the prefix for mimetype is wrapped, it's an unstripped
|
||||||
// unstripped index
|
// index. T has been in use in recoll since the beginning and
|
||||||
Xapian::TermIterator term = db.allterms_begin(":");
|
// all documents have a T field (possibly empty).
|
||||||
if (term == db.allterms_end())
|
Xapian::TermIterator term = db.allterms_begin(":T:");
|
||||||
|
if (term == db.allterms_end()) {
|
||||||
mstripped = true;
|
mstripped = true;
|
||||||
else
|
} else {
|
||||||
mstripped = false;
|
mstripped = false;
|
||||||
|
}
|
||||||
|
LOGDEB("testDbDir: " << dir << " is a " <<
|
||||||
|
(mstripped ? "stripped" : "raw") << " index\n");
|
||||||
} XCATCHERROR(aerr);
|
} XCATCHERROR(aerr);
|
||||||
if (!aerr.empty()) {
|
if (!aerr.empty()) {
|
||||||
LOGERR("Db::Open: error while trying to open database from [" <<
|
LOGERR("Db::Open: error while trying to open database from [" <<
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user