Commit 760526db authored by kinuko@chromium.org's avatar kinuko@chromium.org

Add some DVLOG's in MetadataDatabase::Update* methods

BUG=none
TEST=manual

Review URL: https://codereview.chromium.org/101743002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238395 0039d316-1c4b-4281-b951-d872f2087c98
parent 819f2191
...@@ -797,35 +797,6 @@ bool MetadataDatabase::FindNearestActiveAncestor( ...@@ -797,35 +797,6 @@ bool MetadataDatabase::FindNearestActiveAncestor(
return true; return true;
} }
void MetadataDatabase::UpdateByFileMetadata(scoped_ptr<FileMetadata> file,
leveldb::WriteBatch* batch) {
DCHECK(file);
DCHECK(file->has_details());
std::string file_id = file->file_id();
if (file->details().missing()) {
TrackerSet trackers;
FindTrackersByFileID(file_id, &trackers);
for (TrackerSet::const_iterator itr = trackers.begin();
itr != trackers.end(); ++itr) {
const FileTracker& tracker = **itr;
if (!tracker.has_synced_details() ||
tracker.synced_details().missing()) {
RemoveTracker(tracker.tracker_id(), batch);
}
}
} else {
MaybeAddTrackersForNewFile(*file, batch);
}
if (FindTrackersByFileID(file_id, NULL)) {
MarkTrackersDirtyByFileID(file_id, batch);
PutFileToBatch(*file, batch);
FileMetadata* file_ptr = file.release();
std::swap(file_ptr, file_by_id_[file_id]);
delete file_ptr;
}
}
void MetadataDatabase::UpdateByChangeList( void MetadataDatabase::UpdateByChangeList(
int64 largest_change_id, int64 largest_change_id,
ScopedVector<google_apis::ChangeResource> changes, ScopedVector<google_apis::ChangeResource> changes,
...@@ -844,7 +815,7 @@ void MetadataDatabase::UpdateByChangeList( ...@@ -844,7 +815,7 @@ void MetadataDatabase::UpdateByChangeList(
scoped_ptr<FileMetadata> file( scoped_ptr<FileMetadata> file(
CreateFileMetadataFromChangeResource(change)); CreateFileMetadataFromChangeResource(change));
UpdateByFileMetadata(file.Pass(), batch.get()); UpdateByFileMetadata(FROM_HERE, file.Pass(), batch.get());
} }
UpdateLargestKnownChangeID(largest_change_id); UpdateLargestKnownChangeID(largest_change_id);
...@@ -861,7 +832,7 @@ void MetadataDatabase::UpdateByFileResource( ...@@ -861,7 +832,7 @@ void MetadataDatabase::UpdateByFileResource(
scoped_ptr<FileMetadata> file( scoped_ptr<FileMetadata> file(
CreateFileMetadataFromFileResource( CreateFileMetadataFromFileResource(
GetLargestKnownChangeID(), resource)); GetLargestKnownChangeID(), resource));
UpdateByFileMetadata(file.Pass(), batch.get()); UpdateByFileMetadata(FROM_HERE, file.Pass(), batch.get());
WriteToDatabase(batch.Pass(), callback); WriteToDatabase(batch.Pass(), callback);
} }
...@@ -871,7 +842,7 @@ void MetadataDatabase::UpdateByDeletedRemoteFile( ...@@ -871,7 +842,7 @@ void MetadataDatabase::UpdateByDeletedRemoteFile(
scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch); scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
scoped_ptr<FileMetadata> file( scoped_ptr<FileMetadata> file(
CreateDeletedFileMetadata(GetLargestKnownChangeID(), file_id)); CreateDeletedFileMetadata(GetLargestKnownChangeID(), file_id));
UpdateByFileMetadata(file.Pass(), batch.get()); UpdateByFileMetadata(FROM_HERE, file.Pass(), batch.get());
WriteToDatabase(batch.Pass(), callback); WriteToDatabase(batch.Pass(), callback);
} }
...@@ -1705,6 +1676,43 @@ bool MetadataDatabase::HasActiveTrackerForPath(int64 parent_tracker_id, ...@@ -1705,6 +1676,43 @@ bool MetadataDatabase::HasActiveTrackerForPath(int64 parent_tracker_id,
return found != trackers_by_title.end() && found->second.has_active(); return found != trackers_by_title.end() && found->second.has_active();
} }
void MetadataDatabase::UpdateByFileMetadata(
const tracked_objects::Location& from_where,
scoped_ptr<FileMetadata> file,
leveldb::WriteBatch* batch) {
DCHECK(file);
DCHECK(file->has_details());
DVLOG(1) << from_where.function_name() << ": "
<< file->file_id() << " ("
<< file->details().title() << ")"
<< (file->details().missing() ? " deleted" : "");
std::string file_id = file->file_id();
if (file->details().missing()) {
TrackerSet trackers;
FindTrackersByFileID(file_id, &trackers);
for (TrackerSet::const_iterator itr = trackers.begin();
itr != trackers.end(); ++itr) {
const FileTracker& tracker = **itr;
if (!tracker.has_synced_details() ||
tracker.synced_details().missing()) {
RemoveTracker(tracker.tracker_id(), batch);
}
}
} else {
MaybeAddTrackersForNewFile(*file, batch);
}
if (FindTrackersByFileID(file_id, NULL)) {
MarkTrackersDirtyByFileID(file_id, batch);
PutFileToBatch(*file, batch);
FileMetadata* file_ptr = file.release();
std::swap(file_ptr, file_by_id_[file_id]);
delete file_ptr;
}
}
void MetadataDatabase::WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch, void MetadataDatabase::WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch,
const SyncStatusCallback& callback) { const SyncStatusCallback& callback) {
base::PostTaskAndReplyWithResult( base::PostTaskAndReplyWithResult(
......
...@@ -231,9 +231,6 @@ class MetadataDatabase { ...@@ -231,9 +231,6 @@ class MetadataDatabase {
FileTracker* tracker, FileTracker* tracker,
base::FilePath* path) const; base::FilePath* path) const;
void UpdateByFileMetadata(scoped_ptr<FileMetadata> file,
leveldb::WriteBatch* batch);
// Updates database by |changes|. // Updates database by |changes|.
// Marks each tracker for modified file as dirty and adds new trackers if // Marks each tracker for modified file as dirty and adds new trackers if
// needed. // needed.
...@@ -392,6 +389,10 @@ class MetadataDatabase { ...@@ -392,6 +389,10 @@ class MetadataDatabase {
bool HasActiveTrackerForPath(int64 parent_tracker, bool HasActiveTrackerForPath(int64 parent_tracker,
const std::string& title) const; const std::string& title) const;
void UpdateByFileMetadata(const tracked_objects::Location& from_where,
scoped_ptr<FileMetadata> file,
leveldb::WriteBatch* batch);
void WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch, void WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch,
const SyncStatusCallback& callback); const SyncStatusCallback& callback);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment