+++ /dev/null
-SELECT messageid, time, type, flags, sender, message
-FROM backlog
-JOIN sender ON backlog.senderid = sender.senderid
-WHERE bufferid = :bufferid
- AND backlog.messageid >= :firstmsg
-ORDER BY messageid DESC
-LIMIT :limit
<file>./SQL/SQLite/13/select_messages.sql</file>
<file>./SQL/SQLite/13/select_messagesAll.sql</file>
<file>./SQL/SQLite/13/select_messagesAllNew.sql</file>
- <file>./SQL/SQLite/13/select_messagesNew.sql</file>
+ <file>./SQL/SQLite/13/select_messagesNewerThan.sql</file>
+ <file>./SQL/SQLite/13/select_messagesNewestK.sql</file>
<file>./SQL/SQLite/13/select_networkExists.sql</file>
<file>./SQL/SQLite/13/select_networks_for_user.sql</file>
<file>./SQL/SQLite/13/select_nicks.sql</file>
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());
+ query.bindValue(":firstmsg", first.toInt());
}
query.bindValue(":bufferid", bufferId.toInt());
- query.bindValue(":firstmsg", first.toInt());
query.bindValue(":limit", limit);
safeExec(query);