X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.cpp;h=db2cd9b8a431e05bb87f15fbf60625b3ec843661;hp=fce1bb1d17fc69df980aae3faa897972dbcc9420;hb=6eefdfc697067d184a589fc8a231b16316c09106;hpb=f10304a35af0a7a4f8b812e467e69287d358ce7c diff --git a/src/core/abstractsqlstorage.cpp b/src/core/abstractsqlstorage.cpp index fce1bb1d..db2cd9b8 100644 --- a/src/core/abstractsqlstorage.cpp +++ b/src/core/abstractsqlstorage.cpp @@ -19,9 +19,6 @@ ***************************************************************************/ #include "abstractsqlstorage.h" -#include "quassel.h" - -#include "logger.h" #include #include @@ -29,10 +26,12 @@ #include #include +#include "logmessage.h" +#include "quassel.h" + int AbstractSqlStorage::_nextConnectionId = 0; AbstractSqlStorage::AbstractSqlStorage(QObject *parent) - : Storage(parent), - _schemaVersion(0) + : Storage(parent) { } @@ -43,7 +42,7 @@ AbstractSqlStorage::~AbstractSqlStorage() QHash::iterator conIter; for (conIter = _connectionPool.begin(); conIter != _connectionPool.end(); ++conIter) { QSqlDatabase::removeDatabase(conIter.value()->name()); - disconnect(conIter.value(), 0, this, 0); + disconnect(conIter.value(), nullptr, this, nullptr); } } @@ -78,9 +77,9 @@ void AbstractSqlStorage::addConnectionToPool() Connection *connection = new Connection(QLatin1String(QString("quassel_%1_con_%2").arg(driverName()).arg(connectionId).toLatin1())); connection->moveToThread(currentThread); - connect(this, SIGNAL(destroyed()), connection, SLOT(deleteLater())); - connect(currentThread, SIGNAL(destroyed()), connection, SLOT(deleteLater())); - connect(connection, SIGNAL(destroyed()), this, SLOT(connectionDestroyed())); + connect(this, &QObject::destroyed, connection, &QObject::deleteLater); + connect(currentThread, &QObject::destroyed, connection, &QObject::deleteLater); + connect(connection, &QObject::destroyed, this, &AbstractSqlStorage::connectionDestroyed); _connectionPool[currentThread] = connection; QSqlDatabase db = QSqlDatabase::addDatabase(driverName(), connection->name()); @@ -139,20 +138,19 @@ Storage::State AbstractSqlStorage::init(const QVariantMap &settings, } if (installedSchemaVersion() < schemaVersion()) { - qWarning() << qPrintable(tr("Installed Schema (version %1) is not up to date. Upgrading to " - "version %2... This may take a while for major upgrades." - ).arg(installedSchemaVersion()).arg(schemaVersion())); - // TODO: The monolithic client won't show this message unless one looks into the debug log. - // This should be made more friendly, e.g. a popup message in the GUI. - if (!upgradeDb()) { + quInfo() << qPrintable(tr("Installed database schema (version %1) is not up to date. Upgrading to " + "version %2... This may take a while for major upgrades." + ).arg(installedSchemaVersion()).arg(schemaVersion())); + emit dbUpgradeInProgress(true); + auto upgradeResult = upgradeDb(); + emit dbUpgradeInProgress(false); + if (!upgradeResult) { qWarning() << qPrintable(tr("Upgrade failed...")); return NotAvailable; } - // Warning messages are also sent to the console, while Info messages aren't. Add a message - // when migration succeeds to avoid confusing folks by implying the schema upgrade failed if + // Add a message when migration succeeds to avoid confusing folks by implying the schema upgrade failed if // later functionality does not work. - qWarning() << qPrintable(tr("Installed Schema successfully upgraded to version %1." - ).arg(schemaVersion())); + quInfo() << qPrintable(tr("Installed database schema successfully upgraded to version %1.").arg(schemaVersion())); } quInfo() << qPrintable(displayName()) << "storage backend is ready. Schema version:" << installedSchemaVersion(); @@ -402,11 +400,6 @@ AbstractSqlStorage::Connection::~Connection() // ======================================== // AbstractSqlMigrator // ======================================== -AbstractSqlMigrator::AbstractSqlMigrator() - : _query(0) -{ -} - void AbstractSqlMigrator::newQuery(const QString &query, QSqlDatabase db) { @@ -419,7 +412,7 @@ void AbstractSqlMigrator::newQuery(const QString &query, QSqlDatabase db) void AbstractSqlMigrator::resetQuery() { delete _query; - _query = 0; + _query = nullptr; } @@ -490,8 +483,7 @@ void AbstractSqlMigrator::dumpStatus() // AbstractSqlMigrationReader // ======================================== AbstractSqlMigrationReader::AbstractSqlMigrationReader() - : AbstractSqlMigrator(), - _writer(0) + : AbstractSqlMigrator() { } @@ -575,7 +567,7 @@ void AbstractSqlMigrationReader::abortMigration(const QString &errorMsg) rollback(); _writer->rollback(); - _writer = 0; + _writer = nullptr; } @@ -586,10 +578,10 @@ bool AbstractSqlMigrationReader::finalizeMigration() commit(); if (!_writer->commit()) { - _writer = 0; + _writer = nullptr; return false; } - _writer = 0; + _writer = nullptr; return true; }