X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fabstractsqlstorage.cpp;h=ccbc6bd97bd4472fc3e86599ec94e47cdd7fa428;hp=467b2260aed3521607d8e556d82b63a3fd4417cb;hb=de6fd75928284a7c8788e00a36e5de7e64b9e168;hpb=b2f681c796855ba0f863eb14b062c5d1a2825df1 diff --git a/src/core/abstractsqlstorage.cpp b/src/core/abstractsqlstorage.cpp index 467b2260..ccbc6bd9 100644 --- a/src/core/abstractsqlstorage.cpp +++ b/src/core/abstractsqlstorage.cpp @@ -45,7 +45,6 @@ QSqlDatabase AbstractSqlStorage::logDb() { if(!_connectionPool.contains(QThread::currentThread())) addConnectionToPool(); - qDebug() << "using logDb" << _connectionPool[QThread::currentThread()]->name() << QThread::currentThread(); return QSqlDatabase::database(_connectionPool[QThread::currentThread()]->name()); } @@ -60,10 +59,8 @@ void AbstractSqlStorage::addConnectionToPool() { int connectionId = _nextConnectionId++; - Connection *connection = new Connection(QLatin1String(QString("quassel_connection_%1").arg(connectionId).toLatin1()), this); - qDebug() << "new connection" << connection->name() << currentThread << QLatin1String(QString("quassel_connection_%1").arg(connectionId).toLatin1()); + Connection *connection = new Connection(QLatin1String(QString("quassel_connection_%1").arg(connectionId).toLatin1())); connection->moveToThread(currentThread); - connect(this, SIGNAL(syncCachedQueries()), connection, SLOT(syncCachedQueries())); connect(this, SIGNAL(destroyed()), connection, SLOT(deleteLater())); connect(currentThread, SIGNAL(destroyed()), connection, SLOT(deleteLater())); connect(connection, SIGNAL(destroyed()), this, SLOT(connectionDestroyed())); @@ -103,7 +100,7 @@ bool AbstractSqlStorage::init(const QVariantMap &settings) { } if(installedSchemaVersion() < schemaVersion()) { - qWarning() << "Installed Schema is not up to date. Upgrading..."; + qWarning() << qPrintable(tr("Installed Schema (version %1) is not up to date. Upgrading to version %2...").arg(installedSchemaVersion()).arg(schemaVersion())); if(!upgradeDb()) return false; } @@ -112,10 +109,6 @@ bool AbstractSqlStorage::init(const QVariantMap &settings) { return true; } -void AbstractSqlStorage::sync() { - emit syncCachedQueries(); -} - QString AbstractSqlStorage::queryString(const QString &queryName, int version) { if(version == 0) version = schemaVersion(); @@ -135,12 +128,6 @@ QString AbstractSqlStorage::queryString(const QString &queryName, int version) { return query.trimmed(); } -QSqlQuery &AbstractSqlStorage::cachedQuery(const QString &queryName, int version) { - Q_ASSERT(_connectionPool.contains(QThread::currentThread())); - qDebug() << "cached query" << queryName << "using" << _connectionPool[QThread::currentThread()]->name() << QThread::currentThread(); - return _connectionPool[QThread::currentThread()]->cachedQuery(queryName, version); -} - QStringList AbstractSqlStorage::setupQueries() { QStringList queries; QDir dir = QDir(QString(":/SQL/%1/%2/").arg(displayName()).arg(schemaVersion())); @@ -246,19 +233,13 @@ void AbstractSqlStorage::connectionDestroyed() { // ======================================== // AbstractSqlStorage::Connection // ======================================== -AbstractSqlStorage::Connection::Connection(const QString &name, AbstractSqlStorage *storage, QObject *parent) +AbstractSqlStorage::Connection::Connection(const QString &name, QObject *parent) : QObject(parent), - _name(name.toLatin1()), - _storageEngine(storage) + _name(name.toLatin1()) { } AbstractSqlStorage::Connection::~Connection() { - QHash, QSqlQuery *>::iterator iter = _queryCache.begin(); - while(iter != _queryCache.end()) { - delete *iter; - iter = _queryCache.erase(iter); - } { QSqlDatabase db = QSqlDatabase::database(name(), false); if(db.isOpen()) { @@ -268,26 +249,3 @@ AbstractSqlStorage::Connection::~Connection() { } QSqlDatabase::removeDatabase(name()); } - -QSqlQuery &AbstractSqlStorage::Connection::cachedQuery(const QString &queryName, int version) { - QPair queryId = qMakePair(queryName, version); - if(_queryCache.contains(queryId)) { - return *(_queryCache[queryId]); - } - - QSqlQuery *query = new QSqlQuery(QSqlDatabase::database(name())); - query->prepare(_storageEngine->queryString(queryName, version)); - _queryCache[queryId] = query; - return *query; -} - -void AbstractSqlStorage::Connection::syncCachedQueries() { - QHash, QSqlQuery *>::iterator iter = _queryCache.begin(); - while(iter != _queryCache.end()) { - delete *iter; - iter = _queryCache.erase(iter); - } - QSqlDatabase db = QSqlDatabase::database(name(), false); - if(db.isOpen()) - db.commit(); -}