From 16b4f5d065d5bd609518336bd99a5d582234c892 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 18 Mar 2023 02:20:03 +0100 Subject: [PATCH] DeviceDatabaseBackend: Remove use of QSqlDatabase::exec() --- src/device/devicedatabasebackend.cpp | 53 ++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/device/devicedatabasebackend.cpp b/src/device/devicedatabasebackend.cpp index f3e0550c..d74feb93 100644 --- a/src/device/devicedatabasebackend.cpp +++ b/src/device/devicedatabasebackend.cpp @@ -161,19 +161,52 @@ void DeviceDatabaseBackend::RemoveDevice(const int id) { ScopedTransaction t(&db); // Remove the device from the devices table - SqlQuery q(db); - q.prepare("DELETE FROM devices WHERE ROWID=:id"); - q.BindValue(":id", id); - if (!q.Exec()) { - db_->ReportErrors(q); - return; + { + SqlQuery q(db); + q.prepare("DELETE FROM devices WHERE ROWID=:id"); + q.BindValue(":id", id); + if (!q.Exec()) { + db_->ReportErrors(q); + return; + } } // Remove the songs tables for the device - db.exec(QString("DROP TABLE device_%1_songs").arg(id)); - db.exec(QString("DROP TABLE device_%1_fts").arg(id)); - db.exec(QString("DROP TABLE device_%1_directories").arg(id)); - db.exec(QString("DROP TABLE device_%1_subdirectories").arg(id)); + { + SqlQuery q(db); + q.prepare(QString("DROP TABLE device_%1_songs").arg(id)); + if (!q.Exec()) { + db_->ReportErrors(q); + return; + } + } + + { + SqlQuery q(db); + q.prepare(QString("DROP TABLE device_%1_fts").arg(id)); + if (!q.Exec()) { + db_->ReportErrors(q); + return; + } + } + + { + SqlQuery q(db); + q.prepare(QString("DROP TABLE device_%1_directories").arg(id)); + if (!q.Exec()) { + db_->ReportErrors(q); + return; + } + } + + { + SqlQuery q(db); + q.prepare(QString("DROP TABLE device_%1_subdirectories").arg(id)); + if (!q.Exec()) { + db_->ReportErrors(q); + return; + } + } t.Commit();