projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
performance boost for inital backlog replay when using fixed-per-buffer
[quassel.git]
/
src
/
core
/
sqlitestorage.cpp
diff --git
a/src/core/sqlitestorage.cpp
b/src/core/sqlitestorage.cpp
index
cbcacf7
..
3c58fa3
100644
(file)
--- a/
src/core/sqlitestorage.cpp
+++ b/
src/core/sqlitestorage.cpp
@@
-901,15
+901,19
@@
QList<Message> SqliteStorage::requestMsgs(UserId user, BufferId bufferId, MsgId
return messagelist;
QSqlQuery query(logDb());
return messagelist;
QSqlQuery query(logDb());
- if(last == -1) {
- query.prepare(queryString("select_messagesNew"));
+
+ if(last == -1 && first == -1) {
+ query.prepare(queryString("select_messagesNewestK"));
+ } else if(last == -1) {
+ query.prepare(queryString("select_messagesNewerThan"));
+ query.bindValue(":firstmsg", first.toInt());
} else {
query.prepare(queryString("select_messages"));
query.bindValue(":lastmsg", last.toInt());
} else {
query.prepare(queryString("select_messages"));
query.bindValue(":lastmsg", last.toInt());
+ query.bindValue(":firstmsg", first.toInt());
}
query.bindValue(":bufferid", bufferId.toInt());
}
query.bindValue(":bufferid", bufferId.toInt());
- query.bindValue(":firstmsg", first.toInt());
query.bindValue(":limit", limit);
safeExec(query);
query.bindValue(":limit", limit);
safeExec(query);