aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Config/UserMountCache.php
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2020-11-10 15:15:03 +0100
committerGitHub <noreply@github.com>2020-11-10 15:15:03 +0100
commitf23c2162ad2d2883f08cc88c600a7d2ed4bd8a93 (patch)
treed8bcdf4ad04525f62f8ad5a43d5b9ba6cc698a08 /lib/private/Files/Config/UserMountCache.php
parent10aa22dd45c10b7d7729f648dc8e65efb0d937ec (diff)
parent8027dcbc6f6b1653f5ebcf04b1862ac1e1f51d32 (diff)
downloadnextcloud-server-f23c2162ad2d2883f08cc88c600a7d2ed4bd8a93.tar.gz
nextcloud-server-f23c2162ad2d2883f08cc88c600a7d2ed4bd8a93.zip
Merge pull request #23993 from nextcloud/bugfix/noid/close-cursors
Don't leave cursors open
Diffstat (limited to 'lib/private/Files/Config/UserMountCache.php')
-rw-r--r--lib/private/Files/Config/UserMountCache.php17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/private/Files/Config/UserMountCache.php b/lib/private/Files/Config/UserMountCache.php
index 6fa9cd96bfe..441a4a45326 100644
--- a/lib/private/Files/Config/UserMountCache.php
+++ b/lib/private/Files/Config/UserMountCache.php
@@ -235,7 +235,9 @@ class UserMountCache implements IUserMountCache {
->innerJoin('m', 'filecache', 'f', $builder->expr()->eq('m.root_id', 'f.fileid'))
->where($builder->expr()->eq('user_id', $builder->createPositionalParameter($user->getUID())));
- $rows = $query->execute()->fetchAll();
+ $result = $query->execute();
+ $rows = $result->fetchAll();
+ $result->closeCursor();
$this->mountsForUsers[$user->getUID()] = array_filter(array_map([$this, 'dbRowToMountInfo'], $rows));
}
@@ -258,7 +260,9 @@ class UserMountCache implements IUserMountCache {
$query->andWhere($builder->expr()->eq('user_id', $builder->createPositionalParameter($user)));
}
- $rows = $query->execute()->fetchAll();
+ $result = $query->execute();
+ $rows = $result->fetchAll();
+ $result->closeCursor();
return array_filter(array_map([$this, 'dbRowToMountInfo'], $rows));
}
@@ -274,7 +278,9 @@ class UserMountCache implements IUserMountCache {
->innerJoin('m', 'filecache', 'f', $builder->expr()->eq('m.root_id', 'f.fileid'))
->where($builder->expr()->eq('root_id', $builder->createPositionalParameter($rootFileId, IQueryBuilder::PARAM_INT)));
- $rows = $query->execute()->fetchAll();
+ $result = $query->execute();
+ $rows = $result->fetchAll();
+ $result->closeCursor();
return array_filter(array_map([$this, 'dbRowToMountInfo'], $rows));
}
@@ -291,7 +297,10 @@ class UserMountCache implements IUserMountCache {
->from('filecache')
->where($builder->expr()->eq('fileid', $builder->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)));
- $row = $query->execute()->fetch();
+ $result = $query->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+
if (is_array($row)) {
$this->cacheInfoCache[$fileId] = [
(int)$row['storage'],