X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.cpp;h=05da7a12cc152f8b216321940acaaa089e985a47;hp=d6b82440581e6b7f6e59c57a4fad29ad751079a8;hb=d682289cc69fac3a5776ef29059cc1f54d8d37d4;hpb=97a9b1646bb0d6362cef14bac3a577481cc01e49 diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index d6b82440..05da7a12 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -1370,6 +1370,16 @@ QHash PostgreSqlStorage::bufferMarkerLineMsgIds(UserId user) return markerLineHash; } +void PostgreSqlStorage::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 PostgreSqlStorage::logMessage(Message &msg) { @@ -1424,6 +1434,9 @@ bool PostgreSqlStorage::logMessage(Message &msg) db.commit(); if (msgId.isValid()) { msg.setMsgId(msgId); + + setBufferLastMsg(msg.bufferInfo().bufferId(), msgId); + return true; } else { @@ -2029,5 +2042,9 @@ bool PostgreSqlMigrationWriter::postProcess() if (!exec()) return false; } + + newQuery(QString("SELECT populate_lastmsgid()"), db); + if (!exec()) + return false; return true; }