summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1d1178f)
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.
+++ /dev/null
-UPDATE buffer
-SET lastmsgid = :lastmsgid
-WHERE bufferid = :bufferid
+++ /dev/null
-UPDATE buffer
-SET lastmsgid = :lastmsgid
-WHERE bufferid = :bufferid
-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();
bool PostgreSqlStorage::logMessage(Message &msg)
{
QSqlDatabase db = logDb();
db.commit();
if (msgId.isValid()) {
msg.setMsgId(msgId);
db.commit();
if (msgId.isValid()) {
msg.setMsgId(msgId);
-
- setBufferLastMsg(msg.bufferInfo().bufferId(), msgId);
-
virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
virtual QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user);
virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
virtual QHash<BufferId, MsgId> 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);
/* Message handling */
virtual bool logMessage(Message &msg);
<file>./SQL/PostgreSQL/setup_120_alter_messageid_seq.sql</file>
<file>./SQL/PostgreSQL/setup_130_function_lastmsgid.sql</file>
<file>./SQL/PostgreSQL/update_backlog_bufferid.sql</file>
<file>./SQL/PostgreSQL/setup_120_alter_messageid_seq.sql</file>
<file>./SQL/PostgreSQL/setup_130_function_lastmsgid.sql</file>
<file>./SQL/PostgreSQL/update_backlog_bufferid.sql</file>
- <file>./SQL/PostgreSQL/update_buffer_lastmsgid.sql</file>
<file>./SQL/PostgreSQL/update_buffer_lastseen.sql</file>
<file>./SQL/PostgreSQL/update_buffer_markerlinemsgid.sql</file>
<file>./SQL/PostgreSQL/update_buffer_name.sql</file>
<file>./SQL/PostgreSQL/update_buffer_lastseen.sql</file>
<file>./SQL/PostgreSQL/update_buffer_markerlinemsgid.sql</file>
<file>./SQL/PostgreSQL/update_buffer_name.sql</file>
<file>./SQL/SQLite/setup_130_identity.sql</file>
<file>./SQL/SQLite/setup_140_identity_nick.sql</file>
<file>./SQL/SQLite/update_backlog_bufferid.sql</file>
<file>./SQL/SQLite/setup_130_identity.sql</file>
<file>./SQL/SQLite/setup_140_identity_nick.sql</file>
<file>./SQL/SQLite/update_backlog_bufferid.sql</file>
- <file>./SQL/SQLite/update_buffer_lastmsgid.sql</file>
<file>./SQL/SQLite/update_buffer_lastseen.sql</file>
<file>./SQL/SQLite/update_buffer_markerlinemsgid.sql</file>
<file>./SQL/SQLite/update_buffer_name.sql</file>
<file>./SQL/SQLite/update_buffer_lastseen.sql</file>
<file>./SQL/SQLite/update_buffer_markerlinemsgid.sql</file>
<file>./SQL/SQLite/update_buffer_name.sql</file>
-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();
bool SqliteStorage::logMessage(Message &msg)
{
QSqlDatabase db = logDb();
MsgId msgId = logMessageQuery.lastInsertId().toInt();
if (msgId.isValid()) {
msg.setMsgId(msgId);
MsgId msgId = logMessageQuery.lastInsertId().toInt();
if (msgId.isValid()) {
msg.setMsgId(msgId);
-
- setBufferLastMsg(msg.bufferInfo().bufferId(), msgId);
virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
virtual QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user);
virtual QHash<BufferId, MsgId> bufferLastSeenMsgIds(UserId user);
virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
virtual QHash<BufferId, MsgId> 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);
/* Message handling */
virtual bool logMessage(Message &msg);