Clang: Add busy timeout handler to database

You use now a busy timeout of one second. This is preventing the throwing
of a exception for a busy time under one second.

Change-Id: Iae800a525ad009b594c29883ffb243c1be8b3874
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-03-28 17:55:14 +02:00
parent 5870905db6
commit 68c1140d27
8 changed files with 59 additions and 10 deletions

View File

@@ -32,6 +32,7 @@
#include <utils/smallstring.h>
#include <chrono>
#include <mutex>
#include <vector>
@@ -52,7 +53,11 @@ public:
using WriteStatement = Sqlite::WriteStatement;
Database();
Database(Utils::PathString &&databaseFilePath, JournalMode journalMode=JournalMode::Wal);
Database(Utils::PathString &&databaseFilePath,
JournalMode journalMode=JournalMode::Wal);
Database(Utils::PathString &&databaseFilePath,
std::chrono::milliseconds busyTimeout = {},
JournalMode journalMode=JournalMode::Wal);
Database(const Database &) = delete;
Database &operator=(const Database &) = delete;
@@ -138,6 +143,7 @@ private:
DatabaseBackend m_databaseBackend;
std::vector<Table> m_sqliteTables;
std::mutex m_databaseMutex;
std::chrono::milliseconds m_busyTimeout;
JournalMode m_journalMode = JournalMode::Wal;
OpenMode m_openMode = OpenMode::ReadWrite;
bool m_isOpen = false;