public void RunRepairCommon() { if (!System.IO.File.Exists(m_options.Dbpath)) throw new Exception(string.Format("Database file does not exist: {0}", m_options.Dbpath)); m_result.OperationProgressUpdater.UpdateProgress(0); using(var db = new LocalRepairDatabase(m_options.Dbpath)) { db.SetResult(m_result); db.FixDuplicateMetahash(); db.FixDuplicateFileentries(); db.FixDuplicateBlocklistHashes(); db.FixMissingBlocklistHashes(m_options.BlockHashAlgorithm, m_options.Blocksize); } }
public void RunRepairCommon() { if (!System.IO.File.Exists(m_options.Dbpath)) throw new Exception(string.Format("Database file does not exist: {0}", m_options.Dbpath)); m_result.OperationProgressUpdater.UpdateProgress(0); using(var db = new LocalRepairDatabase(m_options.Dbpath)) { db.SetResult(m_result); Utility.UpdateOptionsFromDb(db, m_options); if (db.RepairInProgress) m_result.AddWarning("The database is marked as \"in-progress\" and may be incomplete.", null); db.FixDuplicateMetahash(); db.FixDuplicateFileentries(); db.FixDuplicateBlocklistHashes(m_options.Blocksize, m_options.BlockhashSize); db.FixMissingBlocklistHashes(m_options.BlockHashAlgorithm, m_options.Blocksize); } }