diff options
Diffstat (limited to 'src/libs/sqlite/sqlitedatabase.h')
-rw-r--r-- | src/libs/sqlite/sqlitedatabase.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/libs/sqlite/sqlitedatabase.h b/src/libs/sqlite/sqlitedatabase.h index 2c35a293c2..54836f0109 100644 --- a/src/libs/sqlite/sqlitedatabase.h +++ b/src/libs/sqlite/sqlitedatabase.h @@ -66,6 +66,8 @@ public: Database(const Database &) = delete; Database &operator=(const Database &) = delete; + static void activateLogging(); + void open(); void open(Utils::PathString &&databaseFilePath); void close(); @@ -87,7 +89,7 @@ public: void setOpenMode(OpenMode openMode); OpenMode openMode() const; - void execute(Utils::SmallStringView sqlStatement); + void execute(Utils::SmallStringView sqlStatement) override; DatabaseBackend &backend(); @@ -108,7 +110,26 @@ public: int totalChangesCount() { return m_databaseBackend.totalChangesCount(); } - void walCheckpointFull() override { m_databaseBackend.walCheckpointFull(); } + void walCheckpointFull() override + { + std::lock_guard<std::mutex> lock{m_databaseMutex}; + m_databaseBackend.walCheckpointFull(); + } + + void setUpdateHook(void *object, + void (*callback)(void *object, + int, + char const *database, + char const *, + long long rowId)) override + { + m_databaseBackend.setUpdateHook(object, callback); + } + + void resetUpdateHook() override { m_databaseBackend.resetUpdateHook(); } + + void setAttachedTables(const Utils::SmallStringVector &tables) override; + void applyAndUpdateSessions() override; private: void deferredBegin() override; @@ -118,6 +139,9 @@ private: void rollback() override; void lock() override; void unlock() override; + void immediateSessionBegin() override; + void sessionCommit() override; + void sessionRollback() override; void initializeTables(); void registerTransactionStatements(); |