From ca7de85fef97bb33c2158547dd38e60da7da2ae9 Mon Sep 17 00:00:00 2001 From: Bartosz Date: Wed, 28 Dec 2022 15:11:47 +0100 Subject: [PATCH] [MOS-853] Purge multimedia database when initializing indexer When startup indexer for FileIndexer starts, it checks for lock file. If it's not present, it starts the indexing. Due to changes in DB initialization we have to purge the DB before starting the init scan because of potential restore content --- module-services/service-fileindexer/CMakeLists.txt | 3 ++- module-services/service-fileindexer/StartupIndexer.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/module-services/service-fileindexer/CMakeLists.txt b/module-services/service-fileindexer/CMakeLists.txt index cdea007ef..cbdf1a5b8 100644 --- a/module-services/service-fileindexer/CMakeLists.txt +++ b/module-services/service-fileindexer/CMakeLists.txt @@ -29,6 +29,7 @@ target_link_libraries(service-fileindexer module-os module-utils module-vfs - module-sys + module-sys + module-db tag ) diff --git a/module-services/service-fileindexer/StartupIndexer.cpp b/module-services/service-fileindexer/StartupIndexer.cpp index 71bd0e2d2..09a8f98fd 100644 --- a/module-services/service-fileindexer/StartupIndexer.cpp +++ b/module-services/service-fileindexer/StartupIndexer.cpp @@ -10,9 +10,9 @@ #include #include -#include #include -#include +#include +#include namespace service::detail { @@ -126,6 +126,10 @@ namespace service::detail { if (!hasLockFile()) { LOG_INFO("Initial startup indexer - Started..."); + + auto query = std::make_unique(); + DBServiceAPI::GetQuery(svc.get(), db::Interface::Name::MultimediaFiles, std::move(query)); + mTopDirIterator = std::begin(directoriesToScan); setupTimers(svc, svc_name); mForceStop = false;