------------------------------------------------------------ revno: 451 committer: Siegfried-Angel Gevatter Pujals <siegfr...@gevatter.com> branch nick: bluebird timestamp: Mon 2012-03-26 18:43:07 +0200 message: FTS++: Re-index if database is corrupt modified: extensions/fts++/indexer.cpp
-- lp:zeitgeist https://code.launchpad.net/~zeitgeist/zeitgeist/bluebird Your team Zeitgeist Framework Team is subscribed to branch lp:zeitgeist. To unsubscribe from this branch go to https://code.launchpad.net/~zeitgeist/zeitgeist/bluebird/+edit-subscription
=== modified file 'extensions/fts++/indexer.cpp' --- extensions/fts++/indexer.cpp 2012-03-20 12:19:23 +0000 +++ extensions/fts++/indexer.cpp 2012-03-26 16:43:07 +0000 @@ -67,8 +67,25 @@ { gchar *path = g_build_filename (zeitgeist_utils_get_data_path (), FTS_MAIN_DIR.c_str (), NULL); - this->db = new Xapian::WritableDatabase (path, - Xapian::DB_CREATE_OR_OPEN); + try + { + this->db = new Xapian::WritableDatabase (path, + Xapian::DB_CREATE_OR_OPEN); + } + catch (const Xapian::DatabaseCorruptError &xp_error) + { + g_message ("Database is corrupt (%s). Overwriting...", + xp_error.get_msg ().c_str ()); + this->db = new Xapian::WritableDatabase (path, + Xapian::DB_CREATE_OR_OVERWRITE); + } + catch (const Xapian::DatabaseOpeningError &xp_error) + { + g_message ("Database is corrupt (%s). Overwriting...", + xp_error.get_msg ().c_str ()); + this->db = new Xapian::WritableDatabase (path, + Xapian::DB_CREATE_OR_OVERWRITE); + } g_free (path); }
_______________________________________________ Mailing list: https://launchpad.net/~zeitgeist Post to : zeitgeist@lists.launchpad.net Unsubscribe : https://launchpad.net/~zeitgeist More help : https://help.launchpad.net/ListHelp