From fc510b4376921a3ddd95a6c4d8ef3864b46f295b Mon Sep 17 00:00:00 2001 From: "Albert S." Date: Thu, 23 May 2024 18:16:41 +0200 Subject: [PATCH] sqlitedbservice,indexer: Add runWalCheckpoint() and call it after indexing --- shared/indexer.cpp | 1 + shared/sqlitedbservice.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/shared/indexer.cpp b/shared/indexer.cpp index 3784d42..bf2e5c6 100644 --- a/shared/indexer.cpp +++ b/shared/indexer.cpp @@ -163,6 +163,7 @@ void Indexer::processFinishedWorker() --this->runningWorkers; if(!isRunning()) { + this->db->runWalCheckpoint(); emit finished(); } } diff --git a/shared/sqlitedbservice.cpp b/shared/sqlitedbservice.cpp index fb436e5..b7c41c3 100644 --- a/shared/sqlitedbservice.cpp +++ b/shared/sqlitedbservice.cpp @@ -276,6 +276,12 @@ bool SqliteDbService::insertOutline(QSqlDatabase &db, int fileid, const QVector< return true; } +bool SqliteDbService::runWalCheckpoint() +{ + auto query = QSqlQuery(dbFactory->forCurrentThread()); + return query.exec("PRAGMA wal_checkpoint(TRUNCATE);"); +} + QSqlQuery SqliteDbService::exec(QString querystr, std::initializer_list args) { auto query = QSqlQuery(dbFactory->forCurrentThread());