From 6f10c8052924b7f66c2ffe590e15618414c08d69 Mon Sep 17 00:00:00 2001 From: Shane Synan Date: Sat, 15 Apr 2017 23:28:44 -0500 Subject: [PATCH] core: Drop the 'update_lastmsgid' statements Remove the 'update_lastmsgid.sql' queries from PostgreSQL and SQLite and remove the 'setBufferLastMsgId()' functions from PostgreSqlStorage and SqliteStorage. These are no longer needed now that database triggers handle updating the 'lastmsgid' for buffers. This removes redundancy and might improve performance. Resolves GH-290. --- .../SQL/PostgreSQL/update_buffer_lastmsgid.sql | 3 --- src/core/SQL/SQLite/update_buffer_lastmsgid.sql | 3 --- src/core/postgresqlstorage.cpp | 14 -------------- src/core/postgresqlstorage.h | 12 ------------ src/core/sql.qrc | 2 -- src/core/sqlitestorage.cpp | 13 ------------- src/core/sqlitestorage.h | 12 ------------ 7 files changed, 59 deletions(-) delete mode 100644 src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql delete mode 100644 src/core/SQL/SQLite/update_buffer_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql b/src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql deleted file mode 100644 index b0f17116..00000000 --- a/src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql +++ /dev/null @@ -1,3 +0,0 @@ -UPDATE buffer -SET lastmsgid = :lastmsgid -WHERE bufferid = :bufferid diff --git a/src/core/SQL/SQLite/update_buffer_lastmsgid.sql b/src/core/SQL/SQLite/update_buffer_lastmsgid.sql deleted file mode 100644 index b0f17116..00000000 --- a/src/core/SQL/SQLite/update_buffer_lastmsgid.sql +++ /dev/null @@ -1,3 +0,0 @@ -UPDATE buffer -SET lastmsgid = :lastmsgid -WHERE bufferid = :bufferid diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index 2877ae0f..cbbd4738 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -1370,17 +1370,6 @@ 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) { QSqlDatabase db = logDb(); @@ -1434,9 +1423,6 @@ bool PostgreSqlStorage::logMessage(Message &msg) db.commit(); if (msgId.isValid()) { msg.setMsgId(msgId); - - setBufferLastMsg(msg.bufferInfo().bufferId(), msgId); - return true; } else { diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index bffdb0d0..c96687e6 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -95,18 +95,6 @@ public slots: virtual QHash bufferLastSeenMsgIds(UserId user); virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferMarkerLineMsgIds(UserId user); - /** - * Sets the last known valid message ID for the given buffer. - * - * This limits LastSeenMsgIds from being set to message IDs in the future, improving performance - * when searching for messages in the backlog. - * - * @see PostgreSqlStorage::setBufferLastSeenMsg() - * - * @param bufferId[in] ID of the Buffer - * @param msgId[in] ID of latest message for this buffer - */ - virtual void setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId); /* Message handling */ virtual bool logMessage(Message &msg); diff --git a/src/core/sql.qrc b/src/core/sql.qrc index e39fc27b..d302b4db 100644 --- a/src/core/sql.qrc +++ b/src/core/sql.qrc @@ -74,7 +74,6 @@ ./SQL/PostgreSQL/setup_120_alter_messageid_seq.sql ./SQL/PostgreSQL/setup_130_function_lastmsgid.sql ./SQL/PostgreSQL/update_backlog_bufferid.sql - ./SQL/PostgreSQL/update_buffer_lastmsgid.sql ./SQL/PostgreSQL/update_buffer_lastseen.sql ./SQL/PostgreSQL/update_buffer_markerlinemsgid.sql ./SQL/PostgreSQL/update_buffer_name.sql @@ -178,7 +177,6 @@ ./SQL/SQLite/setup_130_identity.sql ./SQL/SQLite/setup_140_identity_nick.sql ./SQL/SQLite/update_backlog_bufferid.sql - ./SQL/SQLite/update_buffer_lastmsgid.sql ./SQL/SQLite/update_buffer_lastseen.sql ./SQL/SQLite/update_buffer_markerlinemsgid.sql ./SQL/SQLite/update_buffer_name.sql diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index f671c393..10c5f1b7 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -1475,17 +1475,6 @@ QHash 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) { QSqlDatabase db = logDb(); @@ -1524,8 +1513,6 @@ bool SqliteStorage::logMessage(Message &msg) MsgId msgId = logMessageQuery.lastInsertId().toInt(); if (msgId.isValid()) { msg.setMsgId(msgId); - - setBufferLastMsg(msg.bufferInfo().bufferId(), msgId); } else { error = true; diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index e42feb4b..9a12fbef 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -96,18 +96,6 @@ public slots: virtual QHash bufferLastSeenMsgIds(UserId user); virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferMarkerLineMsgIds(UserId user); - /** - * Sets the last known valid message ID for the given buffer. - * - * This limits LastSeenMsgIds from being set to message IDs in the future, improving performance - * when searching for messages in the backlog. - * - * @see SqliteStorage::setBufferLastSeenMsg() - * - * @param bufferId[in] ID of the Buffer - * @param msgId[in] ID of latest message for this buffer - */ - virtual void setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId); /* Message handling */ virtual bool logMessage(Message &msg); -- 2.20.1