mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #60345 from nextcloud/backport/59753/stable33
[stable33] perf(share): Remove useless order by id
This commit is contained in:
commit
eeb9f931e3
2 changed files with 15 additions and 9 deletions
|
|
@ -381,8 +381,7 @@ class DefaultShareProvider implements
|
|||
], IQueryBuilder::PARAM_INT_ARRAY)
|
||||
)
|
||||
)
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
|
||||
->orderBy('id');
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)));
|
||||
|
||||
$cursor = $qb->executeQuery();
|
||||
while ($data = $cursor->fetch()) {
|
||||
|
|
@ -666,8 +665,6 @@ class DefaultShareProvider implements
|
|||
)
|
||||
);
|
||||
|
||||
$qb->orderBy('id');
|
||||
|
||||
$shares = [];
|
||||
|
||||
$chunks = array_chunk($childMountRootIds, 1000);
|
||||
|
|
@ -725,7 +722,9 @@ class DefaultShareProvider implements
|
|||
}
|
||||
|
||||
$qb->setFirstResult($offset);
|
||||
$qb->orderBy('id');
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
$qb->orderBy('id');
|
||||
}
|
||||
|
||||
$cursor = $qb->executeQuery();
|
||||
$shares = [];
|
||||
|
|
@ -794,7 +793,6 @@ class DefaultShareProvider implements
|
|||
->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($path->getId())))
|
||||
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter([IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_LINK], IQueryBuilder::PARAM_INT_ARRAY)))
|
||||
->andWhere($qb->expr()->in('item_type', $qb->createNamedParameter(['file', 'folder'], IQueryBuilder::PARAM_STR_ARRAY)))
|
||||
->orderBy('id', 'ASC')
|
||||
->executeQuery();
|
||||
|
||||
$shares = [];
|
||||
|
|
@ -887,8 +885,10 @@ class DefaultShareProvider implements
|
|||
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
|
||||
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'));
|
||||
|
||||
// Order by id
|
||||
$qb->orderBy('s.id');
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
// Order by id
|
||||
$qb->orderBy('s.id');
|
||||
}
|
||||
|
||||
// Set limit and offset
|
||||
if ($limit !== -1) {
|
||||
|
|
@ -957,9 +957,12 @@ class DefaultShareProvider implements
|
|||
->from('share', 's')
|
||||
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
|
||||
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'))
|
||||
->orderBy('s.id')
|
||||
->setFirstResult(0);
|
||||
|
||||
if ($offset !== 0 || $limit !== -1) {
|
||||
$qb->orderBy('s.id');
|
||||
}
|
||||
|
||||
if ($limit !== -1) {
|
||||
$qb->setMaxResults($limit - count($shares));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -660,6 +660,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
|
|||
$share->method('getId')->willReturn($id);
|
||||
|
||||
$children = $this->provider->getChildren($share);
|
||||
usort($children, fn (IShare $a, IShare $b) => $a->getId() <=> $b->getId());
|
||||
|
||||
$this->assertCount(2, $children);
|
||||
|
||||
|
|
@ -2640,6 +2641,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
|
|||
$this->assertSame(IShare::TYPE_USER, $file_shares[0]->getShareType());
|
||||
|
||||
$folder_shares = $result[$folder2->getId()];
|
||||
usort($folder_shares, fn (IShare $a, IShare $b) => $a->getId() <=> $b->getId());
|
||||
$this->assertCount(2, $folder_shares);
|
||||
$this->assertSame($folder2->getId(), $folder_shares[0]->getNodeId());
|
||||
$this->assertSame($folder2->getId(), $folder_shares[1]->getNodeId());
|
||||
|
|
@ -3100,6 +3102,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
|
|||
->willReturn(1);
|
||||
|
||||
$shares = $this->provider->getSharesByPath($node);
|
||||
usort($shares, fn (IShare $a, IShare $b) => $a->getId() <=> $b->getId());
|
||||
$this->assertCount(3, $shares);
|
||||
|
||||
$this->assertEquals($id1, $shares[0]->getId());
|
||||
|
|
|
|||
Loading…
Reference in a new issue