aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Files/Type/Loader.php16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/private/Files/Type/Loader.php b/lib/private/Files/Type/Loader.php
index 7ca1b677fb5..7032e619385 100644
--- a/lib/private/Files/Type/Loader.php
+++ b/lib/private/Files/Type/Loader.php
@@ -117,13 +117,15 @@ class Loader implements IMimeTypeLoader {
*/
protected function store($mimetype) {
try {
- $insert = $this->dbConnection->getQueryBuilder();
- $insert->insert('mimetypes')
- ->values([
- 'mimetype' => $insert->createNamedParameter($mimetype)
- ])
- ->executeStatement();
- $mimetypeId = $insert->getLastInsertId();
+ $mimetypeId = $this->atomic(function () use ($mimetype) {
+ $insert = $this->dbConnection->getQueryBuilder();
+ $insert->insert('mimetypes')
+ ->values([
+ 'mimetype' => $insert->createNamedParameter($mimetype)
+ ])
+ ->executeStatement();
+ return $insert->getLastInsertId();
+ }, $this->dbConnection);
} catch (DbalException $e) {
if ($e->getReason() !== DBException::REASON_UNIQUE_CONSTRAINT_VIOLATION) {
throw $e;