X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.cpp;h=0cd04032a2659d57f74c011372fe064f9ea57d75;hb=48017b680ede0dbfb121d1184dfbd13536cfc53f;hp=d53ae9e2db12ac0b2aeeed819bc0ee209edd198e;hpb=8426fae7e92dfb7608f66be926c68c304b97cb01;p=quassel.git diff --git a/src/core/abstractsqlstorage.cpp b/src/core/abstractsqlstorage.cpp index d53ae9e2..0cd04032 100644 --- a/src/core/abstractsqlstorage.cpp +++ b/src/core/abstractsqlstorage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2019 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,14 @@ #include "abstractsqlstorage.h" +#include +#include #include #include #include #include #include +#include #include "quassel.h" @@ -180,13 +183,13 @@ QString AbstractSqlStorage::queryString(const QString& queryName, int version) return query.trimmed(); } -QList AbstractSqlStorage::setupQueries() +std::vector AbstractSqlStorage::setupQueries() { - QList queries; + std::vector queries; // The current schema is stored in the root folder, including setup scripts. QDir dir = QDir(QString(":/SQL/%1/").arg(displayName())); foreach (QFileInfo fileInfo, dir.entryInfoList(QStringList() << "setup*", QDir::NoFilter, QDir::Name)) { - queries << SqlQueryResource(queryString(fileInfo.baseName()), fileInfo.baseName()); + queries.emplace_back(queryString(fileInfo.baseName()), fileInfo.baseName()); } return queries; } @@ -218,13 +221,13 @@ bool AbstractSqlStorage::setup(const QVariantMap& settings, const QProcessEnviro return success; } -QList AbstractSqlStorage::upgradeQueries(int version) +std::vector AbstractSqlStorage::upgradeQueries(int version) { - QList queries; + std::vector queries; // Upgrade queries are stored in the 'version/##' subfolders. QDir dir = QDir(QString(":/SQL/%1/version/%2/").arg(displayName()).arg(version)); foreach (QFileInfo fileInfo, dir.entryInfoList(QStringList() << "upgrade*", QDir::NoFilter, QDir::Name)) { - queries << SqlQueryResource(queryString(fileInfo.baseName(), version), fileInfo.baseName()); + queries.emplace_back(queryString(fileInfo.baseName(), version), fileInfo.baseName()); } return queries; } @@ -309,14 +312,6 @@ bool AbstractSqlStorage::upgradeDb() } } - // Update the schema version for the final step. Split this out to offer more informative - // logging (though setting schema version really should not fail). - if (!updateSchemaVersion(schemaVersion())) { - // Updating the final schema version failed, bail out - qCritical() << "Unable to upgrade Logging Backend! Setting final schema version" << schemaVersion() << "failed."; - return false; - } - // If we made it here, everything seems to have worked! return true; } @@ -392,7 +387,7 @@ bool AbstractSqlStorage::watchQuery(QSqlQuery& query) valueStrings << QString("%1=%2").arg(iter.key(), value); } qCritical() << " bound Values:" << qPrintable(valueStrings.join(", ")); - qCritical() << " Error Number:" << query.lastError().number(); + qCritical() << " Error Code:" << qPrintable(query.lastError().nativeErrorCode()); qCritical() << " Error Message:" << qPrintable(query.lastError().text()); qCritical() << " Driver Message:" << qPrintable(query.lastError().driverText()); qCritical() << " DB Message:" << qPrintable(query.lastError().databaseText()); @@ -500,7 +495,7 @@ void AbstractSqlMigrator::dumpStatus() QList list = boundValues(); for (int i = 0; i < list.size(); ++i) qWarning() << i << ": " << list.at(i).toString().toLatin1().data(); - qWarning() << " Error Number:" << lastError().number(); + qWarning() << " Error Code:" << qPrintable(lastError().nativeErrorCode()); qWarning() << " Error Message:" << lastError().text(); }