diff --git a/src/lib/data/storage/PersistentStorage.cpp b/src/lib/data/storage/PersistentStorage.cpp index 2328c579..1ac8213d 100644 --- a/src/lib/data/storage/PersistentStorage.cpp +++ b/src/lib/data/storage/PersistentStorage.cpp @@ -277,6 +277,15 @@ void PersistentStorage::setup() m_sqliteBookmarkStorage.migrateIfNecessary(); } +void PersistentStorage::updateVersion() +{ + m_sqliteIndexStorage.setVersion(m_sqliteIndexStorage.getStaticVersion()); + if (m_sqliteBookmarkStorage.isEmpty()) + { + m_sqliteBookmarkStorage.setVersion(m_sqliteBookmarkStorage.getStaticVersion()); + } +} + void PersistentStorage::clear() { m_sqliteIndexStorage.clear(); @@ -419,14 +428,9 @@ void PersistentStorage::optimizeMemory() { TRACE(); - m_sqliteIndexStorage.setVersion(m_sqliteIndexStorage.getStaticVersion()); m_sqliteIndexStorage.setTime(); m_sqliteIndexStorage.optimizeMemory(); - - if (m_sqliteBookmarkStorage.isEmpty()) - { - m_sqliteBookmarkStorage.setVersion(m_sqliteBookmarkStorage.getStaticVersion()); - } + m_sqliteBookmarkStorage.optimizeMemory(); } diff --git a/src/lib/data/storage/PersistentStorage.h b/src/lib/data/storage/PersistentStorage.h index 73148856..007a1a72 100644 --- a/src/lib/data/storage/PersistentStorage.h +++ b/src/lib/data/storage/PersistentStorage.h @@ -55,6 +55,7 @@ public: void setProjectSettingsText(std::string text); void setup(); + void updateVersion(); void clear(); void clearCaches(); diff --git a/src/lib/data/storage/sqlite/SqliteStorage.cpp b/src/lib/data/storage/sqlite/SqliteStorage.cpp index a2f85c23..9aae0293 100644 --- a/src/lib/data/storage/sqlite/SqliteStorage.cpp +++ b/src/lib/data/storage/sqlite/SqliteStorage.cpp @@ -66,7 +66,7 @@ size_t SqliteStorage::getVersion() const { std::string storageVersionStr = getMetaValue("storage_version"); - if (storageVersionStr.size()) + if (!storageVersionStr.empty()) { return std::stoi(storageVersionStr); } diff --git a/src/lib/project/Project.cpp b/src/lib/project/Project.cpp index d79e6960..04ee3b30 100644 --- a/src/lib/project/Project.cpp +++ b/src/lib/project/Project.cpp @@ -364,6 +364,7 @@ void Project::buildIndex(const RefreshInfo& info, DialogView* dialogView) m_storageCache->clear(); m_storage->setProjectSettingsText(TextAccess::createFromFile(getProjectSettingsFilePath())->getText()); + m_storage->updateVersion(); std::shared_ptr indexerCommandList = std::make_shared(); for (const std::shared_ptr& sourceGroup : m_sourceGroups)