Skip to content

Commit 914ab88

Browse files
committed
perf(share): Remove useless order by id
This should improve a bit the performance in some particular cases Signed-off-by: Carl Schwan <carlschwan@kde.org>
1 parent 8598f8b commit 914ab88

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

lib/private/Share20/DefaultShareProvider.php

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,7 @@ public function getChildren(IShare $parent): array {
388388
], IQueryBuilder::PARAM_INT_ARRAY)
389389
)
390390
)
391-
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
392-
->orderBy('id');
391+
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)));
393392

394393
$cursor = $qb->executeQuery();
395394
while ($data = $cursor->fetch()) {
@@ -673,8 +672,6 @@ private function getSharesInFolderInternal(?string $userId, Folder $node, ?bool
673672
)
674673
);
675674

676-
$qb->orderBy('id');
677-
678675
$shares = [];
679676

680677
$chunks = array_chunk($childMountRootIds, 1000);
@@ -732,7 +729,9 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
732729
}
733730

734731
$qb->setFirstResult($offset);
735-
$qb->orderBy('id');
732+
if ($offset !== 0 || $limit !== -1) {
733+
$qb->orderBy('id');
734+
}
736735

737736
$cursor = $qb->executeQuery();
738737
$shares = [];
@@ -801,7 +800,6 @@ public function getSharesByPath(Node $path) {
801800
->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($path->getId())))
802801
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter([IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_LINK], IQueryBuilder::PARAM_INT_ARRAY)))
803802
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
804-
->orderBy('id', 'ASC')
805803
->executeQuery();
806804

807805
$shares = [];
@@ -894,8 +892,10 @@ private function _getSharedWith(
894892
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
895893
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'));
896894

897-
// Order by id
898-
$qb->orderBy('s.id');
895+
if ($offset !== 0 || $limit !== -1) {
896+
// Order by id
897+
$qb->orderBy('id');
898+
}
899899

900900
// Set limit and offset
901901
if ($limit !== -1) {
@@ -964,9 +964,12 @@ private function _getSharedWith(
964964
->from('share', 's')
965965
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
966966
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'))
967-
->orderBy('s.id')
968967
->setFirstResult(0);
969968

969+
if ($offset !== 0 || $limit !== -1) {
970+
$qb->orderBy('id');
971+
}
972+
970973
if ($limit !== -1) {
971974
$qb->setMaxResults($limit - count($shares));
972975
}

0 commit comments

Comments
 (0)