Skip to content

Commit b49ef46

Browse files
committed
perf: remove unneeded sort when listing mail shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent 6e3914f commit b49ef46

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

apps/sharebymail/lib/ShareByMailProvider.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -653,8 +653,7 @@ public function getChildren(IShare $parent): array {
653653
$qb->select('*')
654654
->from('share')
655655
->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId())))
656-
->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL)))
657-
->orderBy('id');
656+
->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL)));
658657

659658
$cursor = $qb->executeQuery();
660659
while ($data = $cursor->fetchAssociative()) {
@@ -854,7 +853,9 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
854853
}
855854

856855
$qb->setFirstResult($offset);
857-
$qb->orderBy('id');
856+
if ($offset !== 0 || $limit !== -1) {
857+
$qb->orderBy('id');
858+
}
858859

859860
$cursor = $qb->executeQuery();
860861
$shares = [];
@@ -935,8 +936,10 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset): arra
935936
$qb->select('*')
936937
->from('share');
937938

938-
// Order by id
939-
$qb->orderBy('id');
939+
// Order by id only if we need it for limit/offset
940+
if ($offset !== 0 || $limit !== -1) {
941+
$qb->orderBy('id');
942+
}
940943

941944
// Set limit and offset
942945
if ($limit !== -1) {
@@ -1176,8 +1179,6 @@ private function getSharesInFolderInternal(?string $userId, Folder $node, ?bool
11761179

11771180
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
11781181

1179-
$qb->orderBy('id');
1180-
11811182
$cursor = $qb->executeQuery();
11821183
$shares = [];
11831184
while ($data = $cursor->fetchAssociative()) {

0 commit comments

Comments
 (0)