diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php index 10cf9ae2863..12fb4158413 100644 --- a/apps/sharebymail/lib/ShareByMailProvider.php +++ b/apps/sharebymail/lib/ShareByMailProvider.php @@ -653,8 +653,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider $qb->select('*') ->from('share') ->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId()))) - ->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL))) - ->orderBy('id'); + ->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL))); $cursor = $qb->executeQuery(); while ($data = $cursor->fetchAssociative()) { @@ -854,7 +853,9 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider } $qb->setFirstResult($offset); - $qb->orderBy('id'); + if ($offset !== 0 || $limit !== -1) { + $qb->orderBy('id'); + } $cursor = $qb->executeQuery(); $shares = []; @@ -935,8 +936,10 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider $qb->select('*') ->from('share'); - // Order by id - $qb->orderBy('id'); + // Order by id only if we need it for limit/offset + if ($offset !== 0 || $limit !== -1) { + $qb->orderBy('id'); + } // Set limit and offset if ($limit !== -1) { @@ -1176,8 +1179,6 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); - $qb->orderBy('id'); - $cursor = $qb->executeQuery(); $shares = []; while ($data = $cursor->fetchAssociative()) {