From: Shane Synan Date: Sun, 5 Mar 2017 19:39:38 +0000 (-0600) Subject: core: Fix Postgres messagesNewerThan wrong buffer X-Git-Tag: travis-deploy-test~333^2 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=a5b9d7f3893413771b77172db819118571b084e0 core: Fix Postgres messagesNewerThan wrong buffer Make the inner SELECT statement use the buffer ID for bufferid, NOT the messageid. This fixes select_messagesNewerThan using the wrong variable for the buffer ID, causing more recent messages to not show up when fetching backlog with the "Unread messages" method. Fixes regression in pull request #273, missed by pull request #274. NOTE: The client still needs fixed to stop sending invalid IDs. That should be addressed with another set of commits. See https://github.com/quassel/quassel/pull/274#issuecomment-284205802 --- diff --git a/src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql b/src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql index 881ce5e4..571f5383 100644 --- a/src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql +++ b/src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql @@ -2,7 +2,7 @@ SELECT messageid, time, type, flags, sender, message FROM backlog JOIN sender ON backlog.senderid = sender.senderid WHERE backlog.messageid >= $1 -AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = $1) +AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = $2) AND bufferid = $2 ORDER BY messageid DESC LIMIT $3