FileTracker* tracker = contents->file_trackers[i];
if (ContainsKey(visited_trackers, tracker->tracker_id())) {
reachable_trackers.push_back(tracker);
- contents->file_trackers[i] = NULL;
+ contents->file_trackers[i] = nullptr;
} else {
PutFileTrackerDeletionToDB(tracker->tracker_id(), db);
}
FileMetadata* metadata = contents->file_metadata[i];
if (ContainsKey(referred_file_ids, metadata->file_id())) {
referred_file_metadata.push_back(metadata);
- contents->file_metadata[i] = NULL;
+ contents->file_metadata[i] = nullptr;
} else {
PutFileMetadataDeletionToDB(metadata->file_id(), db);
}
DCHECK(db);
scoped_ptr<ServiceMetadata> service_metadata = InitializeServiceMetadata(db);
- DatabaseContents contents;
+ if (!service_metadata)
+ return scoped_ptr<MetadataDatabaseIndex>();
+ DatabaseContents contents;
PutVersionToDB(kCurrentDatabaseVersion, db);
ReadDatabaseContents(db, &contents);
RemoveUnreachableItems(&contents,
return !demoted_dirty_trackers_.empty();
}
+bool MetadataDatabaseIndex::IsDemotedDirtyTracker(int64 tracker_id) const {
+ return demoted_dirty_trackers_.find(tracker_id) !=
+ demoted_dirty_trackers_.end();
+}
+
void MetadataDatabaseIndex::PromoteDemotedDirtyTracker(int64 tracker_id) {
if (demoted_dirty_trackers_.erase(tracker_id) == 1)
dirty_trackers_.insert(tracker_id);
}
size_t MetadataDatabaseIndex::CountDirtyTracker() const {
- return dirty_trackers_.size() + demoted_dirty_trackers_.size();
+ return dirty_trackers_.size();
}
size_t MetadataDatabaseIndex::CountFileMetadata() const {