diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index e57124d6cb..11f7eedea2 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -309,6 +309,10 @@ class Cache implements ICache { } } catch (UniqueConstraintViolationException $e) { // entry exists already + if ($this->connection->inTransaction()) { + $this->connection->commit(); + $this->connection->beginTransaction(); + } } // The file was created in the mean time @@ -611,8 +615,8 @@ class Cache implements ICache { $sourceId = $sourceData['fileid']; $newParentId = $this->getParentId($targetPath); - list($sourceStorageId, $sourcePath) = $sourceCache->getMoveInfo($sourcePath); - list($targetStorageId, $targetPath) = $this->getMoveInfo($targetPath); + [$sourceStorageId, $sourcePath] = $sourceCache->getMoveInfo($sourcePath); + [$targetStorageId, $targetPath] = $this->getMoveInfo($targetPath); if (is_null($sourceStorageId) || $sourceStorageId === false) { throw new \Exception('Invalid source storage id: ' . $sourceStorageId); @@ -882,7 +886,7 @@ class Cache implements ICache { ->whereParent($id); if ($row = $query->execute()->fetch()) { - list($sum, $min) = array_values($row); + [$sum, $min] = array_values($row); $sum = 0 + $sum; $min = 0 + $min; if ($min === -1) {