| Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| index a051a25e9dfa997d715430ad7a102da01c9d913d..9925445a86ae790816a238e1ea3c6160776825c1 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| @@ -556,6 +556,27 @@ MetadataDatabaseIndexOnDisk::GetAllMetadataIDs() const {
|
| return file_ids;
|
| }
|
|
|
| +void MetadataDatabaseIndexOnDisk::BuildTrackerIndexes(
|
| + leveldb::WriteBatch* batch) {
|
| + scoped_ptr<leveldb::Iterator> itr(db_->NewIterator(leveldb::ReadOptions()));
|
| + for (itr->Seek(kFileTrackerKeyPrefix); itr->Valid(); itr->Next()) {
|
| + if (!RemovePrefix(itr->key().ToString(), kFileTrackerKeyPrefix, NULL))
|
| + break;
|
| +
|
| + FileTracker tracker;
|
| + if (!tracker.ParseFromString(itr->value().ToString())) {
|
| + util::Log(logging::LOG_WARNING, FROM_HERE,
|
| + "Failed to parse a Tracker");
|
| + continue;
|
| + }
|
| +
|
| + AddToAppIDIndex(tracker, batch);
|
| + AddToFileIDIndexes(tracker, batch);
|
| + AddToPathIndexes(tracker, batch);
|
| + AddToDirtyTrackerIndexes(tracker, batch);
|
| + }
|
| +}
|
| +
|
| MetadataDatabaseIndexOnDisk::MetadataDatabaseIndexOnDisk(leveldb::DB* db)
|
| : db_(db) {
|
| // TODO(peria): Add UMA to measure the number of FileMetadata, FileTracker,
|
|
|