sqlitedbservice,indexer: Add runWalCheckpoint() and call it after indexing

This commit is contained in:
Albert S. 2024-05-23 18:16:41 +02:00
джерело d85c0bd2a5
коміт fc510b4376
2 змінених файлів з 7 додано та 0 видалено

@ -163,6 +163,7 @@ void Indexer::processFinishedWorker()
--this->runningWorkers; --this->runningWorkers;
if(!isRunning()) if(!isRunning())
{ {
this->db->runWalCheckpoint();
emit finished(); emit finished();
} }
} }

@ -276,6 +276,12 @@ bool SqliteDbService::insertOutline(QSqlDatabase &db, int fileid, const QVector<
return true; 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<QVariant> args) QSqlQuery SqliteDbService::exec(QString querystr, std::initializer_list<QVariant> args)
{ {
auto query = QSqlQuery(dbFactory->forCurrentThread()); auto query = QSqlQuery(dbFactory->forCurrentThread());