From 85c6258927fa25c056cfdee1b5c131571a61aa11 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Mon, 28 Jan 2008 18:51:12 +0000 Subject: [PATCH] Small improvement to the SQLite Storage engine. distclean is mandatory! ... and what the f... is version.inc for anyways... --- src/core/SQL/SQLite/1/select_bufferByName.sql | 3 +-- src/core/sqlitestorage.cpp | 8 ++++---- version.inc | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/core/SQL/SQLite/1/select_bufferByName.sql b/src/core/SQL/SQLite/1/select_bufferByName.sql index ef5e1a12..eaab5ab8 100644 --- a/src/core/SQL/SQLite/1/select_bufferByName.sql +++ b/src/core/SQL/SQLite/1/select_bufferByName.sql @@ -1,4 +1,3 @@ SELECT bufferid FROM buffer -JOIN network ON buffer.networkid = network.networkid -WHERE network.networkname = :networkname AND network.userid = :userid AND buffer.userid = :userid2 AND lower(buffer.buffername) = lower(:buffername) +WHERE buffer.networkid = :networkid AND buffer.userid = :userid AND lower(buffer.buffername) = lower(:buffername) diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index b30ec4de..7e7b10ea 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -146,15 +146,16 @@ void SqliteStorage::createBuffer(UserId user, const QString &network, const QStr createBufferQuery->bindValue(":buffername", buffer); createBufferQuery->exec(); + watchQuery(createBufferQuery); if(createBufferQuery->lastError().isValid()) { if(createBufferQuery->lastError().number() == 19) { // Null Constraint violation QSqlQuery *createNetworkQuery = cachedQuery("insert_network"); createNetworkQuery->bindValue(":userid", user.toInt()); createNetworkQuery->bindValue(":networkname", network); createNetworkQuery->exec(); + Q_ASSERT(watchQuery(createNetworkQuery)); createBufferQuery->exec(); - Q_ASSERT(!createNetworkQuery->lastError().isValid()); - Q_ASSERT(!createBufferQuery->lastError().isValid()); + Q_ASSERT(watchQuery(createBufferQuery)); } else { // do panic! qDebug() << "failed to create Buffer: ErrNo:" << createBufferQuery->lastError().number() << "ErrMsg:" << createBufferQuery->lastError().text(); @@ -191,9 +192,8 @@ BufferInfo SqliteStorage::getBufferInfo(UserId user, const QString &network, con NetworkId networkId = getNetworkId(user, network); QSqlQuery *getBufferInfoQuery = cachedQuery("select_bufferByName"); - getBufferInfoQuery->bindValue(":networkname", network); + getBufferInfoQuery->bindValue(":networkid", networkId.toInt()); getBufferInfoQuery->bindValue(":userid", user.toInt()); - getBufferInfoQuery->bindValue(":userid2", user.toInt()); // Qt can't handle same placeholder twice... though I guess it's sqlites fault getBufferInfoQuery->bindValue(":buffername", buffer); getBufferInfoQuery->exec(); diff --git a/version.inc b/version.inc index 2d21bb26..104d0fd0 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-01-28"; - quasselBuild = 395; + quasselBuild = 398; //! Minimum client build number the core needs clientBuildNeeded = 358; -- 2.20.1