23#include <QSqlDatabase>
25#include <QThreadStorage>
26#include <QWaitCondition>
49 int transactionCount = 0;
69 void init(
const QString& connectionName,
DbEngineLocking*
const locking);
71 QSqlDatabase databaseForThread();
72 QSqlError databaseErrorForThread();
73 bool resetDatabaseForThread();
74 void setDatabaseErrorForThread(
const QSqlError& lastError);
76 QString connectionName();
77 QSqlDatabase createDatabaseConnection();
79 void closeDatabaseForThread();
80 bool incrementTransactionCount();
81 bool decrementTransactionCount();
83 bool isInMainThread()
const;
84 bool isInUIThread()
const;
86 bool reconnectOnError()
const;
88 bool isSQLiteLockTransactionError(
const QSqlError& lastError)
const;
92 void debugOutputFailedQuery(
const QSqlQuery& query)
const;
93 void debugOutputFailedTransaction(
const QSqlError& error)
const;
95 bool checkRetrySQLiteLockError(
int retries);
96 bool checkOperationStatus();
104 void connectionErrorContinueQueries()
override;
105 void connectionErrorAbortQueries()
override;
107 virtual void transactionFinished();
117 int currentValidity = 0;
119 bool isInTransaction =
false;
149 void finishAcquire();
167 QWaitCondition*
const condVar);
170 bool wait(
unsigned long time = ULONG_MAX);
174 QMutex*
const mutex =
nullptr;
175 QWaitCondition*
const condVar =
nullptr;
Definition dbenginebackend_p.h:143
Definition dbenginebackend_p.h:162
Definition dbenginebackend_p.h:191
Definition dbenginebackend_p.h:181
Definition dbenginebackend_p.h:63
QString backendName
Definition dbenginebackend_p.h:121
DbEngineParameters parameters
Definition dbenginebackend_p.h:123
QWaitCondition busyWaitCondVar
Definition dbenginebackend_p.h:136
QMutex errorLockMutex
Definition dbenginebackend_p.h:131
QThreadStorage< DbEngineThreadData * > threadDataStorage
Definition dbenginebackend_p.h:111
QMutex busyWaitMutex
Definition dbenginebackend_p.h:135
QWaitCondition errorLockCondVar
Definition dbenginebackend_p.h:132
Definition dbenginebackend.h:57
Status
Definition dbenginebackend.h:81
QueryOperationStatus
Definition dbenginebackend.h:105
Definition dbengineerrorhandler.h:32
Definition dbengineerrorhandler.h:50
Definition dbenginebackend.h:43
Definition dbengineparameters.h:39
Definition dbenginesqlquery.h:31
Definition dbenginebackend_p.h:38
QString connectionName
Definition dbenginebackend_p.h:50
QSqlError lastError
Definition dbenginebackend_p.h:51
DbEngineThreadData()=default
Definition datefolderview.cpp:34