Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(7)

Unified Diff: gears/base/common/permissions_db.cc

Issue 800: Database2Versions table, get/set version operations implemented (Closed) SVN Base: http://google-gears.googlecode.com/svn/contrib/dimitri.glazkov/database2/
Patch Set: renamed table to Database2Metadata Created 4 months, 3 weeks ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side by-side-diff with in-line comments
Download patch
Index: gears/base/common/permissions_db.cc
===================================================================
--- gears/base/common/permissions_db.cc (revision 1639)
+++ gears/base/common/permissions_db.cc (working copy)
@@ -32,7 +32,7 @@
static const char16 *kVersionTableName = STRING16(L"VersionInfo");
static const char16 *kVersionKeyName = STRING16(L"Version");
static const char16 *kAccessTableName = STRING16(L"Access");
-static const int kCurrentVersion = 7;
+static const int kCurrentVersion = 8;
static const int kOldestUpgradeableVersion = 1;
@@ -71,7 +71,8 @@
: version_table_(&db_, kVersionTableName),
access_table_(&db_, kAccessTableName),
shortcut_table_(&db_),
- database_name_table_(&db_) {
+ database_name_table_(&db_),
+ database2_metadata_table_(&db_) {
}
@@ -116,7 +117,7 @@
return false;
}
} else {
- if (!UpgradeToVersion7()) {
+ if (!UpgradeToVersion8()) {
return false;
}
}
@@ -310,6 +311,10 @@
basename);
}
+Database2Metadata &PermissionsDB::GetDatabase2Metadata() {
+ return database2_metadata_table_;
+}
+
bool PermissionsDB::CreateDatabase() {
ASSERT_SINGLE_THREAD();
@@ -531,3 +536,36 @@
return transaction.Commit();
}
+
+bool PermissionsDB::UpgradeToVersion8() {
+ SQLTransaction transaction(&db_, "PermissionsDB::UpgradeToVersion8");
+ if (!transaction.Begin()) {
+ return false;
+ }
+
+ int version = 0;
+ version_table_.GetInt(kVersionKeyName, &version);
+
+ if (version < 7) {
+ if (!UpgradeToVersion7()) {
+ return false;
+ }
+ version_table_.GetInt(kVersionKeyName, &version);
+ }
+
+ if (version != 7) {
+ LOG(("PermissionsDB::UpgradeToVersion8 unexpected version: %d", version));
+ return false;
+ }
+
+ // Adding new database2_metadata_table_
+ if (!database2_metadata_table_.CreateTableVersion8()) {
+ return false;
+ }
+
+ if (!version_table_.SetInt(kVersionKeyName, 8)) {
+ return false;
+ }
+
+ return transaction.Commit();
+}

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r338