summaryrefslogtreecommitdiff
path: root/platform/default/src/mbgl/storage/offline_database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/default/src/mbgl/storage/offline_database.cpp')
-rw-r--r--platform/default/src/mbgl/storage/offline_database.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/platform/default/src/mbgl/storage/offline_database.cpp b/platform/default/src/mbgl/storage/offline_database.cpp
index e27ccbf313..f17bd697ca 100644
--- a/platform/default/src/mbgl/storage/offline_database.cpp
+++ b/platform/default/src/mbgl/storage/offline_database.cpp
@@ -59,6 +59,9 @@ void OfflineDatabase::initialize() {
migrateToVersion6();
// fall through
case 6:
+ migrateToVersion7();
+ // fall through
+ case 7:
// Happy path; we're done
return;
default:
@@ -151,7 +154,7 @@ void OfflineDatabase::createSchema() {
db->exec("PRAGMA synchronous = FULL");
mapbox::sqlite::Transaction transaction(*db);
db->exec(offlineDatabaseSchema);
- db->exec("PRAGMA user_version = 6");
+ db->exec("PRAGMA user_version = 7");
transaction.commit();
}
@@ -184,6 +187,16 @@ void OfflineDatabase::migrateToVersion6() {
transaction.commit();
}
+void OfflineDatabase::migrateToVersion7() {
+ assert(db);
+ if (getPragma<int64_t>("PRAGMA auto_vacuum") != 2) {
+ // auto_vacuum might have been already set to INCREMENTAL at migrateToVersion3()
+ db->exec("PRAGMA auto_vacuum = INCREMENTAL");
+ db->exec("VACUUM");
+ }
+ db->exec("PRAGMA user_version = 7");
+}
+
mapbox::sqlite::Statement& OfflineDatabase::getStatement(const char* sql) {
if (!db) {
initialize();