From 951f3eb7eefae9b7236517a2eca8fcbfe77567b2 Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Mon, 5 Apr 2021 15:13:30 +0200 Subject: DB: Allow negative limits Signed-off-by: Sean Molenaar --- lib/Db/ItemMapperV2.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/Db/ItemMapperV2.php b/lib/Db/ItemMapperV2.php index c79ac035f..b2e3bcb04 100644 --- a/lib/Db/ItemMapperV2.php +++ b/lib/Db/ItemMapperV2.php @@ -467,7 +467,6 @@ class ItemMapperV2 extends NewsMapperV2 ->andWhere('items.feed_id = :feedId') ->setParameter('userId', $userId) ->setParameter('feedId', $feedId) - ->setMaxResults($limit) ->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC')) ->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC')); @@ -479,6 +478,10 @@ class ItemMapperV2 extends NewsMapperV2 } } + if ($limit >= 1) { + $builder->setMaxResults($limit); + } + if ($offset !== 0) { $builder->andWhere($this->offsetWhere($oldestFirst)) ->setParameter('offset', $offset); @@ -526,7 +529,6 @@ class ItemMapperV2 extends NewsMapperV2 ->andWhere('feeds.deleted_at = 0') ->andWhere($folderWhere) ->setParameter('userId', $userId) - ->setMaxResults($limit) ->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC')) ->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC')); @@ -538,6 +540,10 @@ class ItemMapperV2 extends NewsMapperV2 } } + if ($limit >= 1) { + $builder->setMaxResults($limit); + } + if ($offset !== 0) { $builder->andWhere($this->offsetWhere($oldestFirst)) ->setParameter('offset', $offset); @@ -577,7 +583,6 @@ class ItemMapperV2 extends NewsMapperV2 ->andWhere('feeds.user_id = :userId') ->andWhere('feeds.deleted_at = 0') ->setParameter('userId', $userId) - ->setMaxResults($limit) ->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC')) ->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC')); @@ -589,6 +594,10 @@ class ItemMapperV2 extends NewsMapperV2 } } + if ($limit >= 1) { + $builder->setMaxResults($limit); + } + if ($offset !== 0) { $builder->andWhere($this->offsetWhere($oldestFirst)) ->setParameter('offset', $offset); -- cgit v1.2.3