diff options
| author | 2025-01-16 01:57:37 -0500 | |
|---|---|---|
| committer | 2025-01-16 01:57:37 -0500 | |
| commit | 81a21e6ce040e7740de86340c8ea4dba30e69bc3 (patch) | |
| tree | 95fc1741b907d5ba6d029a42d80092cb7c056c5e /Plugins/DbAndroid | |
| parent | 3565aad630864ecdbe53fdaa501ea708555b3c7c (diff) | |
New upstream version 3.4.13+dfsg.upstream/3.4.13+dfsgupstream
Diffstat (limited to 'Plugins/DbAndroid')
| -rw-r--r-- | Plugins/DbAndroid/dbandroidinstance.cpp | 11 | ||||
| -rw-r--r-- | Plugins/DbAndroid/dbandroidinstance.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Plugins/DbAndroid/dbandroidinstance.cpp b/Plugins/DbAndroid/dbandroidinstance.cpp index c1b5629..62a42c4 100644 --- a/Plugins/DbAndroid/dbandroidinstance.cpp +++ b/Plugins/DbAndroid/dbandroidinstance.cpp @@ -124,6 +124,17 @@ Db* DbAndroidInstance::clone() const return new DbAndroidInstance(plugin, name, path, connOptions); } +bool DbAndroidInstance::isTransactionActive() const +{ + // FIXME: Since there is no way to detect active transaction by PRAGMA or SQL function, + // this plugin cannot just test this state. It could potentially be implemented by tracking BEGIN/END keywords + // as first keywords in executed queries, but it will require more work and testing. + // + // Current consiequence of negleting this is that if user uses import() function enclosed with BEGIN & END, + // the query will fail due to already active transaction. In that case user needs to skip the BEGIN & END. + return false; +} + bool DbAndroidInstance::isOpenInternal() { return (connection && connection->isConnected()); diff --git a/Plugins/DbAndroid/dbandroidinstance.h b/Plugins/DbAndroid/dbandroidinstance.h index e81bd40..48877dd 100644 --- a/Plugins/DbAndroid/dbandroidinstance.h +++ b/Plugins/DbAndroid/dbandroidinstance.h @@ -30,6 +30,7 @@ class DbAndroidInstance : public AbstractDb bool loadExtension(const QString& filePath, const QString& initFunc); bool isComplete(const QString& sql) const; Db* clone() const; + bool isTransactionActive() const; protected: bool isOpenInternal(); |
