Merge pull request #60629 from nextcloud/backport/60244/stable32

[stable32] remove unneeded sort when listing mail/federated shares
This commit is contained in:
Andy Scherzinger 2026-05-21 11:04:05 +02:00 committed by GitHub
commit b761b0da80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 14 deletions

View file

@ -425,8 +425,7 @@ class FederatedShareProvider implements IShareProvider, IShareProviderSupportsAl
$qb->select('*')
->from('share')
->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId())))
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)))
->orderBy('id');
->andWhere($qb->expr()->in('share_type', $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)));
$cursor = $qb->executeQuery();
while ($data = $cursor->fetch()) {
@ -558,8 +557,6 @@ class FederatedShareProvider implements IShareProvider, IShareProviderSupportsAl
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
$qb->orderBy('id');
$cursor = $qb->executeQuery();
$shares = [];
while ($data = $cursor->fetch()) {
@ -614,7 +611,9 @@ class FederatedShareProvider implements IShareProvider, IShareProviderSupportsAl
}
$qb->setFirstResult($offset);
$qb->orderBy('id');
if ($offset !== 0 || $limit !== -1) {
$qb->orderBy('id');
}
$cursor = $qb->executeQuery();
$shares = [];
@ -691,8 +690,9 @@ class FederatedShareProvider implements IShareProvider, IShareProviderSupportsAl
$qb->select('*')
->from('share');
// Order by id
$qb->orderBy('id');
if ($offset !== 0 || $limit !== -1) {
$qb->orderBy('id');
}
// Set limit and offset
if ($limit !== -1) {

View file

@ -644,8 +644,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->fetch()) {
@ -839,7 +838,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 = [];
@ -914,8 +915,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) {
@ -1147,8 +1150,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->fetch()) {