summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorperia@chromium.org <peria@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-01 07:29:18 +0000
committerperia@chromium.org <peria@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-01 07:29:18 +0000
commit98ab9c92414fc50a27199641b708b9f5a5ae93f2 (patch)
tree5ea33bc11845a604f62d7751d1bd7e25a5f38a20
parentc83c5ff025e54f97854821557a95a1a0b14477a7 (diff)
downloadchromium_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
-rw-r--r--chrome/browser/sync_file_system/drive_backend/metadata_database.cc1
-rw-r--r--chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc26
-rw-r--r--chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc2
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 {