diff options
Diffstat (limited to 'platform/default/src/mbgl/storage/offline_database.cpp')
-rw-r--r-- | platform/default/src/mbgl/storage/offline_database.cpp | 15 |
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(); |