aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/sqlite/sqlitedatabase.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/sqlite/sqlitedatabase.h')
-rw-r--r--src/libs/sqlite/sqlitedatabase.h28
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();