From 81a21e6ce040e7740de86340c8ea4dba30e69bc3 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Thu, 16 Jan 2025 01:57:37 -0500 Subject: New upstream version 3.4.13+dfsg. --- Plugins/DbAndroid/dbandroidinstance.cpp | 11 +++++++++++ Plugins/DbAndroid/dbandroidinstance.h | 1 + 2 files changed, 12 insertions(+) (limited to 'Plugins/DbAndroid') 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(); -- cgit v1.2.3