Skip to content

Commit b761b0d

Browse files
Merge pull request #60629 from nextcloud/backport/60244/stable32
[stable32] remove unneeded sort when listing mail/federated shares
2 parents 83a6b2f + 97633c5 commit b761b0d

2 files changed

Lines changed: 15 additions & 14 deletions

File tree

apps/federatedfilesharing/lib/FederatedShareProvider.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,7 @@ public function getChildren(IShare $parent): array {
425425
$qb->select('*')
426426
->from('share')
427427
->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId())))
428-
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)))
429-
->orderBy('id');
428+
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)));
430429

431430
$cursor = $qb->executeQuery();
432431
while ($data = $cursor->fetch()) {
@@ -558,8 +557,6 @@ private function getSharesInFolderInternal(?string $userId, Folder $node, ?bool
558557

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

561-
$qb->orderBy('id');
562-
563560
$cursor = $qb->executeQuery();
564561
$shares = [];
565562
while ($data = $cursor->fetch()) {
@@ -614,7 +611,9 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
614611
}
615612

616613
$qb->setFirstResult($offset);
617-
$qb->orderBy('id');
614+
if ($offset !== 0 || $limit !== -1) {
615+
$qb->orderBy('id');
616+
}
618617

619618
$cursor = $qb->executeQuery();
620619
$shares = [];
@@ -691,8 +690,9 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset) {
691690
$qb->select('*')
692691
->from('share');
693692

694-
// Order by id
695-
$qb->orderBy('id');
693+
if ($offset !== 0 || $limit !== -1) {
694+
$qb->orderBy('id');
695+
}
696696

697697
// Set limit and offset
698698
if ($limit !== -1) {

apps/sharebymail/lib/ShareByMailProvider.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -644,8 +644,7 @@ public function getChildren(IShare $parent): array {
644644
$qb->select('*')
645645
->from('share')
646646
->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId())))
647-
->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL)))
648-
->orderBy('id');
647+
->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL)));
649648

650649
$cursor = $qb->executeQuery();
651650
while ($data = $cursor->fetch()) {
@@ -839,7 +838,9 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
839838
}
840839

841840
$qb->setFirstResult($offset);
842-
$qb->orderBy('id');
841+
if ($offset !== 0 || $limit !== -1) {
842+
$qb->orderBy('id');
843+
}
843844

844845
$cursor = $qb->executeQuery();
845846
$shares = [];
@@ -914,8 +915,10 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset): arra
914915
$qb->select('*')
915916
->from('share');
916917

917-
// Order by id
918-
$qb->orderBy('id');
918+
// Order by id only if we need it for limit/offset
919+
if ($offset !== 0 || $limit !== -1) {
920+
$qb->orderBy('id');
921+
}
919922

920923
// Set limit and offset
921924
if ($limit !== -1) {
@@ -1147,8 +1150,6 @@ private function getSharesInFolderInternal(?string $userId, Folder $node, ?bool
11471150

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

1150-
$qb->orderBy('id');
1151-
11521153
$cursor = $qb->executeQuery();
11531154
$shares = [];
11541155
while ($data = $cursor->fetch()) {

0 commit comments

Comments
 (0)