From: Hannah von Reth Date: Fri, 17 Jul 2020 12:01:48 +0000 (+0200) Subject: Logging: Print enum before cast in SqlQuer::bindValue X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~84 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=29c6f4412483a61e7e683226d410c4f060c26853;p=nextcloud-desktop.git Logging: Print enum before cast in SqlQuer::bindValue --- diff --git a/src/common/ownsql.cpp b/src/common/ownsql.cpp index 3411f38b0..4c0165eee 100644 --- a/src/common/ownsql.cpp +++ b/src/common/ownsql.cpp @@ -361,10 +361,8 @@ auto SqlQuery::next() -> NextResult return result; } -void SqlQuery::bindValue(int pos, const QVariant &value) +void SqlQuery::bindValueInternal(int pos, const QVariant &value) { - qCDebug(lcSql) << "SQL bind" << pos << value; - int res = -1; if (!_stmt) { ASSERT(false); diff --git a/src/common/ownsql.h b/src/common/ownsql.h index 7e0b5f058..3eb530ce4 100644 --- a/src/common/ownsql.h +++ b/src/common/ownsql.h @@ -19,6 +19,7 @@ #ifndef OWNSQL_H #define OWNSQL_H +#include #include #include @@ -28,6 +29,7 @@ struct sqlite3; struct sqlite3_stmt; namespace OCC { +OCSYNC_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcSql) class SqlQuery; @@ -136,13 +138,28 @@ public: }; NextResult next(); - void bindValue(int pos, const QVariant &value); + template::value, int>::type = 0> + void bindValue(int pos, const T &value) + { + qCDebug(lcSql) << "SQL bind" << pos << value; + bindValueInternal(pos, static_cast(value)); + } + + template::value, int>::type = 0> + void bindValue(int pos, const T &value) + { + qCDebug(lcSql) << "SQL bind" << pos << value; + bindValueInternal(pos, value); + } + QString lastQuery() const; int numRowsAffected(); void reset_and_clear_bindings(); void finish(); private: + void bindValueInternal(int pos, const QVariant &value); + SqlDatabase *_sqldb = nullptr; sqlite3 *_db = nullptr; sqlite3_stmt *_stmt = nullptr; diff --git a/src/common/syncjournaldb.cpp b/src/common/syncjournaldb.cpp index c301ddccf..4ed9732dc 100644 --- a/src/common/syncjournaldb.cpp +++ b/src/common/syncjournaldb.cpp @@ -2272,7 +2272,7 @@ void SyncJournalDb::PinStateInterface::setForPath(const QByteArray &path, PinSta "INSERT OR REPLACE INTO flags(path, pinState) VALUES(?1, ?2);"), _db->_db)); query.bindValue(1, path); - query.bindValue(2, static_cast(state)); + query.bindValue(2, state); query.exec(); }