Port the previous PostgreSQL improvements to SQLite3.
[quassel.git] / src / core / sqlitestorage.cpp
index 53601e0..022db0e 100644 (file)
@@ -1475,6 +1475,16 @@ QHash<BufferId, MsgId> SqliteStorage::bufferMarkerLineMsgIds(UserId user)
     return markerLineHash;
 }
 
+void SqliteStorage::setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId)
+{
+    QSqlQuery query(logDb());
+    query.prepare(queryString("update_buffer_lastmsgid"));
+
+    query.bindValue(":bufferid", bufferId.toInt());
+    query.bindValue(":lastmsgid", msgId.toInt());
+    safeExec(query);
+    watchQuery(query);
+}
 
 bool SqliteStorage::logMessage(Message &msg)
 {
@@ -1514,6 +1524,8 @@ bool SqliteStorage::logMessage(Message &msg)
             MsgId msgId = logMessageQuery.lastInsertId().toInt();
             if (msgId.isValid()) {
                 msg.setMsgId(msgId);
+
+                setBufferLastMsg(msg.bufferInfo().bufferId(), msgId);
             }
             else {
                 error = true;