From 78f72e29bdc5fdd6bd2cb1bb8ca438600c36d9b4 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sat, 3 Mar 2018 14:51:45 +0100 Subject: [PATCH] Fixed ordering issue --- database/Database.php | 2 +- database/backends/PostgresSmartBackend.php | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/database/Database.php b/database/Database.php index c067a12..bb4698a 100644 --- a/database/Database.php +++ b/database/Database.php @@ -249,7 +249,7 @@ class Database public function after(int $anchor, int $buffer, int $limit): array { - $truncatedLimit = max(min($limit + 1, 50), 1); + $truncatedLimit = max(min($limit, 50), 0); $stmt = $this->backend->loadAfter(); diff --git a/database/backends/PostgresSmartBackend.php b/database/backends/PostgresSmartBackend.php index e205f6c..451c39b 100644 --- a/database/backends/PostgresSmartBackend.php +++ b/database/backends/PostgresSmartBackend.php @@ -218,7 +218,7 @@ class PostgresSmartBackend implements Backend public function loadBefore(): \PDOStatement { return $this->db->prepare(" - SELECT backlog.messageid, + SELECT * FROM (SELECT backlog.messageid, backlog.bufferid, buffer.buffername, sender.sender, @@ -234,7 +234,8 @@ class PostgresSmartBackend implements Backend AND backlog.bufferid = :bufferid AND backlog.messageid < :anchor ORDER BY backlog.messageid DESC - LIMIT :limit; + LIMIT :limit) t + ORDER BY messageid ASC; "); } } -- GitLab