From 44fbf6f7349ed4be30cba0957bb1c308a895d232 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 15 Sep 2016 09:47:39 +0200 Subject: [PATCH] Close cursors --- apps/dav/lib/CalDAV/CalDavBackend.php | 11 ++++++----- apps/dav/lib/CardDAV/CardDavBackend.php | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index 886dcd4f6d..17479c490a 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -621,7 +621,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription } $chunks = array_chunk($uris, 100); - $result = []; + $objects = []; $query = $this->db->getQueryBuilder(); $query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'calendardata', 'componenttype', 'classification']) @@ -631,10 +631,10 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription foreach ($chunks as $uris) { $query->setParameter('uri', $uris, IQueryBuilder::PARAM_STR_ARRAY); - $stmt = $query->execute(); + $result = $query->execute(); - while($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { - $result[] = [ + while ($row = $result->fetch()) { + $objects[] = [ 'id' => $row['id'], 'uri' => $row['uri'], 'lastmodified' => $row['lastmodified'], @@ -646,8 +646,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription 'classification' => (int)$row['classification'] ]; } + $result->closeCursor(); } - return $result; + return $objects; } /** diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php index f7e0a01780..3aab271212 100644 --- a/apps/dav/lib/CardDAV/CardDavBackend.php +++ b/apps/dav/lib/CardDAV/CardDavBackend.php @@ -499,11 +499,12 @@ class CardDavBackend implements BackendInterface, SyncSupport { $query->setParameter('uri', $uris, IQueryBuilder::PARAM_STR_ARRAY); $result = $query->execute(); - while($row = $result->fetch()) { + while ($row = $result->fetch()) { $row['etag'] = '"' . $row['etag'] . '"'; $row['carddata'] = $this->readBlob($row['carddata']); $cards[] = $row; } + $result->closeCursor(); } return $cards; }