diff options
author | peria@chromium.org <peria@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-01 07:29:18 +0000 |
---|---|---|
committer | peria@chromium.org <peria@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-01 07:29:18 +0000 |
commit | 98ab9c92414fc50a27199641b708b9f5a5ae93f2 (patch) | |
tree | 5ea33bc11845a604f62d7751d1bd7e25a5f38a20 | |
parent | c83c5ff025e54f97854821557a95a1a0b14477a7 (diff) | |
download | chromium_src-98ab9c92414fc50a27199641b708b9f5a5ae93f2.zip chromium_src-98ab9c92414fc50a27199641b708b9f5a5ae93f2.tar.gz chromium_src-98ab9c92414fc50a27199641b708b9f5a5ae93f2.tar.bz2 |
[SyncFS] Add a schema comment of leveldb in MetadataDatabase.
BUG=None
TEST=None
NOTRY=true
Review URL: https://codereview.chromium.org/359983004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280775 0039d316-1c4b-4281-b951-d872f2087c98
3 files changed, 29 insertions, 0 deletions
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc index 253c780..29d784b 100644 --- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc @@ -157,6 +157,7 @@ SyncStatusCode OpenDatabase(const base::FilePath& path, } SyncStatusCode MigrateDatabaseIfNeeded(leveldb::DB* db) { + // See metadata_database_index.cc for the database schema. base::ThreadRestrictions::AssertIOAllowed(); DCHECK(db); std::string value; diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc index dc4a788..1ed6a9d 100644 --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc @@ -15,6 +15,32 @@ #include "third_party/leveldatabase/src/include/leveldb/db.h" #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" +// LevelDB database schema +// ======================= +// +// NOTE +// - Entries are sorted by keys. +// - int64 value is serialized as a string by base::Int64ToString(). +// - ServiceMetadata, FileMetadata, and FileTracker values are serialized +// as a string by SerializeToString() of protocol buffers. +// +// Version 3 +// # Version of this schema +// key: "VERSION" +// value: "3" +// +// # Metadata of the SyncFS service +// key: "SERVICE" +// value: <ServiceMetadata 'service_metadata'> +// +// # Metadata of remote files +// key: "FILE: " + <string 'file_id'> +// value: <FileMetadata 'metadata'> +// +// # Trackers of local file updates +// key: "TRACKER: " + <int64 'tracker_id'> +// value: <FileTracker 'tracker'> + namespace sync_file_system { namespace drive_backend { 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 66679e0..9c183bf 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 @@ -8,6 +8,8 @@ #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" +// See metadata_database_index.cc for the database schema. + namespace sync_file_system { namespace drive_backend { |