diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php index 42b21f8f4b846..d9cd513e5e933 100644 --- a/lib/public/AppFramework/Db/QBMapper.php +++ b/lib/public/AppFramework/Db/QBMapper.php @@ -30,7 +30,7 @@ namespace OCP\AppFramework\Db; -use OCP\DB\Exception; +use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; @@ -162,11 +162,8 @@ public function insert(Entity $entity): Entity { public function insertOrUpdate(Entity $entity): Entity { try { return $this->insert($entity); - } catch (Exception $ex) { - if ($ex->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { - return $this->update($entity); - } - throw $ex; + } catch (UniqueConstraintViolationException $ex) { + return $this->update($entity); } }