Small improvement to the SQLite Storage engine.
authorMarcus Eggenberger <egs@quassel-irc.org>
Mon, 28 Jan 2008 18:51:12 +0000 (18:51 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Mon, 28 Jan 2008 18:51:12 +0000 (18:51 +0000)
distclean is mandatory!
... and what the f... is version.inc for anyways...

src/core/SQL/SQLite/1/select_bufferByName.sql
src/core/sqlitestorage.cpp
version.inc

index ef5e1a1..eaab5ab 100644 (file)
@@ -1,4 +1,3 @@
 SELECT bufferid
 FROM buffer
 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)
index b30ec4d..7e7b10e 100644 (file)
@@ -146,15 +146,16 @@ void SqliteStorage::createBuffer(UserId user, const QString &network, const QStr
   createBufferQuery->bindValue(":buffername", buffer);
   createBufferQuery->exec();
 
   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();
   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();
       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();
     } 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");
   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(":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();
 
   getBufferInfoQuery->bindValue(":buffername", buffer);
   getBufferInfoQuery->exec();
 
index 2d21bb2..104d0fd 100644 (file)
@@ -5,7 +5,7 @@
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-01-28";
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-01-28";
-  quasselBuild = 395;
+  quasselBuild = 398;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 358;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 358;