From 03ccedf034db7fb871f0e1febcb9063453e6bc66 Mon Sep 17 00:00:00 2001 From: Nodir Temirkhodjaev Date: Tue, 16 Jan 2024 12:31:24 +0300 Subject: [PATCH] UI: ConfAppManager: Simplify SQL vars binding --- src/ui/3rdparty/sqlite/sqlitedb.cpp | 5 +---- src/ui/3rdparty/sqlite/sqlitestmt.cpp | 25 +++++++++++++++++-------- src/ui/conf/confappmanager.cpp | 4 ++-- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/ui/3rdparty/sqlite/sqlitedb.cpp b/src/ui/3rdparty/sqlite/sqlitedb.cpp index af7ef0dda..e02689340 100644 --- a/src/ui/3rdparty/sqlite/sqlitedb.cpp +++ b/src/ui/3rdparty/sqlite/sqlitedb.cpp @@ -161,10 +161,7 @@ bool SqliteDb::prepare(SqliteStmt &stmt, const char *sql, const QVariantList &va if (!stmt.prepare(db(), sql)) return false; - if (!(vars.isEmpty() || stmt.bindVars(vars))) - return false; - - return true; + return stmt.bindVars(vars); } bool SqliteDb::prepare(SqliteStmt &stmt, const QString &sql, const QVariantList &vars) diff --git a/src/ui/3rdparty/sqlite/sqlitestmt.cpp b/src/ui/3rdparty/sqlite/sqlitestmt.cpp index 156f133c4..5323d32f4 100644 --- a/src/ui/3rdparty/sqlite/sqlitestmt.cpp +++ b/src/ui/3rdparty/sqlite/sqlitestmt.cpp @@ -6,6 +6,15 @@ #include +namespace { + +bool checkBindResult(int res) +{ + return res == SQLITE_OK || res == SQLITE_RANGE; +} + +} + SqliteStmt::SqliteStmt() = default; SqliteStmt::~SqliteStmt() @@ -41,22 +50,22 @@ int SqliteStmt::bindParameterIndex(const QString &name) const bool SqliteStmt::bindInt(int index, qint32 number) { - return sqlite3_bind_int(m_stmt, index, number) == SQLITE_OK; + return checkBindResult(sqlite3_bind_int(m_stmt, index, number)); } bool SqliteStmt::bindInt64(int index, qint64 number) { - return sqlite3_bind_int64(m_stmt, index, number) == SQLITE_OK; + return checkBindResult(sqlite3_bind_int64(m_stmt, index, number)); } bool SqliteStmt::bindDouble(int index, double number) { - return sqlite3_bind_double(m_stmt, index, number) == SQLITE_OK; + return checkBindResult(sqlite3_bind_double(m_stmt, index, number)); } bool SqliteStmt::bindNull(int index) { - return sqlite3_bind_null(m_stmt, index) == SQLITE_OK; + return checkBindResult(sqlite3_bind_null(m_stmt, index)); } bool SqliteStmt::bindText(int index, const QString &text) @@ -66,8 +75,8 @@ bool SqliteStmt::bindText(int index, const QString &text) m_bindObjects.insert(index, textUtf8); - return sqlite3_bind_text(m_stmt, index, textUtf8.data(), bytesCount, SQLITE_STATIC) - == SQLITE_OK; + return checkBindResult( + sqlite3_bind_text(m_stmt, index, textUtf8.data(), bytesCount, SQLITE_STATIC)); } bool SqliteStmt::bindDateTime(int index, const QDateTime &dateTime) @@ -82,8 +91,8 @@ bool SqliteStmt::bindBlob(int index, const QByteArray &data) m_bindObjects.insert(index, data); - return sqlite3_bind_blob(m_stmt, index, data.constData(), bytesCount, SQLITE_STATIC) - == SQLITE_OK; + return checkBindResult( + sqlite3_bind_blob(m_stmt, index, data.constData(), bytesCount, SQLITE_STATIC)); } bool SqliteStmt::bindVarBlob(int index, const QVariant &v) diff --git a/src/ui/conf/confappmanager.cpp b/src/ui/conf/confappmanager.cpp index 3736d9b51..f7671ba61 100644 --- a/src/ui/conf/confappmanager.cpp +++ b/src/ui/conf/confappmanager.cpp @@ -83,7 +83,7 @@ const char *const sqlUpsertApp = "INSERT INTO app(app_group_id, origin_path, pat " parked = ?11, log_blocked = ?12, log_conn = ?13," " blocked = ?14, kill_process = ?15," " accept_zones = ?16, reject_zones = ?17, end_time = ?18" - " RETURNING app_id, ?1;"; + " RETURNING app_id;"; const char *const sqlUpdateApp = "UPDATE app" " SET app_group_id = ?2, origin_path = ?3, path = ?4," @@ -93,7 +93,7 @@ const char *const sqlUpdateApp = "UPDATE app" " blocked = ?14, kill_process = ?15," " accept_zones = ?16, reject_zones = ?17, end_time = ?18" " WHERE app_id = ?1" - " RETURNING app_id, ?19;"; + " RETURNING app_id;"; const char *const sqlUpdateAppName = "UPDATE app SET name = ?2 WHERE app_id = ?1;";