diff --git a/composer.lock b/composer.lock index 3ab0753d4..d476dd777 100644 --- a/composer.lock +++ b/composer.lock @@ -839,16 +839,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.35", + "version": "1.10.38", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3" + "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e730e5facb75ffe09dfb229795e8c01a459f26c3", - "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5302bb402c57f00fb3c2c015bac86e0827e4b691", + "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691", "shasum": "" }, "require": { @@ -897,7 +897,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T15:27:56+00:00" + "time": "2023-10-06T14:19:14+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/src/Database/Adapter/MariaDB.php b/src/Database/Adapter/MariaDB.php index d4647f754..49a6533ce 100644 --- a/src/Database/Adapter/MariaDB.php +++ b/src/Database/Adapter/MariaDB.php @@ -714,6 +714,7 @@ public function updateDocument(string $collection, Document $document): Document $permissionsStmt->bindValue(':_uid', $document->getId()); $permissionsStmt->execute(); $permissions = $permissionsStmt->fetchAll(); + $permissionsStmt->closeCursor(); $initial = []; foreach (Database::PERMISSIONS as $type) { @@ -1098,6 +1099,7 @@ public function find(string $collection, array $queries = [], ?int $limit = 25, } $results = $stmt->fetchAll(); + $stmt->closeCursor(); foreach ($results as $index => $document) { if (\array_key_exists('_uid', $document)) { @@ -1181,7 +1183,11 @@ public function count(string $collection, array $queries = [], ?int $max = null, $stmt->execute(); - $result = $stmt->fetch(); + $result = $stmt->fetchAll(); + $stmt->closeCursor(); + if (!empty($result)) { + $result = $result[0]; + } return $result['sum'] ?? 0; } @@ -1238,7 +1244,11 @@ public function sum(string $collection, string $attribute, array $queries = [], $stmt->execute(); - $result = $stmt->fetch(); + $result = $stmt->fetchAll(); + $stmt->closeCursor(); + if (!empty($result)) { + $result = $result[0]; + } return $result['sum'] ?? 0; } diff --git a/src/Database/Adapter/Postgres.php b/src/Database/Adapter/Postgres.php index 8df026bda..06dfeef9f 100644 --- a/src/Database/Adapter/Postgres.php +++ b/src/Database/Adapter/Postgres.php @@ -723,6 +723,7 @@ public function updateDocument(string $collection, Document $document): Document $permissionsStmt->bindValue(':_uid', $document->getId()); $permissionsStmt->execute(); $permissions = $permissionsStmt->fetchAll(); + $permissionsStmt->closeCursor(); $initial = []; foreach (Database::PERMISSIONS as $type) { @@ -1104,6 +1105,7 @@ public function find(string $collection, array $queries = [], ?int $limit = 25, } $results = $stmt->fetchAll(); + $stmt->closeCursor(); foreach ($results as $index => $document) { if (\array_key_exists('_uid', $document)) { diff --git a/src/Database/Adapter/SQL.php b/src/Database/Adapter/SQL.php index 8525d2738..39729e8b6 100644 --- a/src/Database/Adapter/SQL.php +++ b/src/Database/Adapter/SQL.php @@ -81,7 +81,11 @@ public function exists(string $database, ?string $collection): bool $stmt->execute(); - $document = $stmt->fetch(); + $document = $stmt->fetchAll(); + $stmt->closeCursor(); + if (!empty($document)) { + $document = $document[0]; + } return (($document[$select] ?? '') === $match) || // case insensitive check (($document[strtolower($select)] ?? '') === $match); @@ -121,12 +125,15 @@ public function getDocument(string $collection, string $id, array $queries = []) $stmt->bindValue(':_uid', $id); $stmt->execute(); - $document = $stmt->fetch(); + $document = $stmt->fetchAll(); + $stmt->closeCursor(); if (empty($document)) { return new Document([]); } + $document = $document[0]; + if (\array_key_exists('_id', $document)) { $document['$internalId'] = $document['_id']; unset($document['_id']); diff --git a/src/Database/Adapter/SQLite.php b/src/Database/Adapter/SQLite.php index 932de4f3f..a1ee719b9 100644 --- a/src/Database/Adapter/SQLite.php +++ b/src/Database/Adapter/SQLite.php @@ -53,7 +53,11 @@ public function exists(string $database, ?string $collection): bool $stmt->execute(); - $document = $stmt->fetch(); + $document = $stmt->fetchAll(); + $stmt->closeCursor(); + if (!empty($document)) { + $document = $document[0]; + } return (($document['name'] ?? '') === "{$this->getNamespace()}_{$collection}"); } @@ -495,6 +499,7 @@ public function updateDocument(string $collection, Document $document): Document $permissionsStmt->bindValue(':_uid', $document->getId()); $permissionsStmt->execute(); $permissions = $permissionsStmt->fetchAll(); + $permissionsStmt->closeCursor(); $initial = []; foreach (Database::PERMISSIONS as $type) {