X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.cpp;h=6d850d8db7f12d504146c940c17b296487cc38f7;hb=cfa01e5ffc7988e7976b8dc0777dabf26b0eacc5;hp=c6eeeec3fa56695b903bdc6446b3be59598d696a;hpb=a06b72f5cc0ff48e7f00de7a7e45ee11c2bba16b;p=quassel.git diff --git a/src/core/abstractsqlstorage.cpp b/src/core/abstractsqlstorage.cpp index c6eeeec3..6d850d8d 100644 --- a/src/core/abstractsqlstorage.cpp +++ b/src/core/abstractsqlstorage.cpp @@ -133,22 +133,14 @@ QString AbstractSqlStorage::queryString(const QString &queryName, int version) { return query.trimmed(); } -QString AbstractSqlStorage::queryString(const QString &queryName) { - return queryString(queryName, 0); -} - -QSqlQuery *AbstractSqlStorage::cachedQuery(const QString &queryName, int version) { +QSqlQuery &AbstractSqlStorage::cachedQuery(const QString &queryName, int version) { QPair queryId = qMakePair(queryName, version); if(!_queryCache.contains(queryId)) { QSqlQuery *query = new QSqlQuery(logDb()); query->prepare(queryString(queryName, version)); _queryCache[queryId] = query; } - return _queryCache[queryId]; -} - -QSqlQuery *AbstractSqlStorage::cachedQuery(const QString &queryName) { - return cachedQuery(queryName, 0); + return *(_queryCache[queryId]); } QStringList AbstractSqlStorage::setupQueries() { @@ -170,7 +162,7 @@ bool AbstractSqlStorage::setup(const QVariantMap &settings) { foreach(QString queryString, setupQueries()) { QSqlQuery query = db.exec(queryString); - if(!watchQuery(&query)) { + if(!watchQuery(query)) { qCritical() << "Unable to setup Logging Backend!"; return false; } @@ -196,7 +188,7 @@ bool AbstractSqlStorage::upgradeDb() { for(int ver = installedSchemaVersion() + 1; ver <= schemaVersion(); ver++) { foreach(QString queryString, upgradeQueries(ver)) { QSqlQuery query = db.exec(queryString); - if(!watchQuery(&query)) { + if(!watchQuery(query)) { qCritical() << "Unable to upgrade Logging Backend!"; return false; } @@ -229,19 +221,19 @@ int AbstractSqlStorage::schemaVersion() { return _schemaVersion; } -bool AbstractSqlStorage::watchQuery(QSqlQuery *query) { - if(query->lastError().isValid()) { +bool AbstractSqlStorage::watchQuery(QSqlQuery &query) { + if(query.lastError().isValid()) { qCritical() << "unhandled Error in QSqlQuery!"; - qCritical() << " last Query:\n" << query->lastQuery(); - qCritical() << " executed Query:\n" << query->executedQuery(); + qCritical() << " last Query:\n" << query.lastQuery(); + qCritical() << " executed Query:\n" << query.executedQuery(); qCritical() << " bound Values:"; - QList list = query->boundValues().values(); + QList list = query.boundValues().values(); for (int i = 0; i < list.size(); ++i) qCritical() << i << ": " << list.at(i).toString().toAscii().data(); - qCritical() << " Error Number:" << query->lastError().number(); - qCritical() << " Error Message:" << query->lastError().text(); - qCritical() << " Driver Message:" << query->lastError().driverText(); - qCritical() << " DB Message:" << query->lastError().databaseText(); + qCritical() << " Error Number:" << query.lastError().number(); + qCritical() << " Error Message:" << query.lastError().text(); + qCritical() << " Driver Message:" << query.lastError().driverText(); + qCritical() << " DB Message:" << query.lastError().databaseText(); return false; }