Implement type-filtered backlog fetching
authorJanne Koschinski <janne@kuschku.de>
Tue, 8 May 2018 20:50:41 +0000 (15:50 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 23 May 2018 22:33:28 +0000 (00:33 +0200)
commitb9169a652a6854b3fa85aee8f833cb9e18a8d510
tree93941c4dfaf4b146cff4e6e4bc647f5155aa40d8
parentb8d7e647bca45cba82db5fa38c58f336aefe5768
Implement type-filtered backlog fetching

Add new backlog fetching methods that only return messages of the
specified types.  This allows clients to only fetch the types of
messages that they need, e.g. if join/part/quit is hidden.

This is not yet used in Quassel itself, but third-party clients
including QuasselDroid use this for better performance on limited
bandwidth networks.

Signed-off-by: Janne Koschinski <janne@kuschku.de>
Closes GH-339.
22 files changed:
src/common/backlogmanager.cpp
src/common/backlogmanager.h
src/common/quassel.h
src/core/SQL/PostgreSQL/select_messagesAllNew_filtered.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/select_messagesAll_filtered.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/select_messagesNewerThan_filtered.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/select_messagesNewestK_filtered.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/select_messagesRange_filtered.sql [new file with mode: 0644]
src/core/SQL/SQLite/select_messagesAllNew_filtered.sql [new file with mode: 0644]
src/core/SQL/SQLite/select_messagesAll_filtered.sql [new file with mode: 0644]
src/core/SQL/SQLite/select_messagesNewerThan_filtered.sql [new file with mode: 0644]
src/core/SQL/SQLite/select_messagesNewestK_filtered.sql [new file with mode: 0644]
src/core/SQL/SQLite/select_messagesRange_filtered.sql [new file with mode: 0644]
src/core/core.h
src/core/corebacklogmanager.cpp
src/core/corebacklogmanager.h
src/core/postgresqlstorage.cpp
src/core/postgresqlstorage.h
src/core/sql.qrc
src/core/sqlitestorage.cpp
src/core/sqlitestorage.h
src/core/storage.h