SELECT messageid, time, type, flags, sender, message
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
-WHERE bufferid = :bufferid
- AND backlog.messageid >= :firstmsg
+WHERE backlog.messageid >= :firstmsg
+ AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferid)
+ AND bufferid = :bufferid
ORDER BY messageid DESC
LIMIT :limit