diff options
-rw-r--r-- | lib/private/Group/Database.php | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 53c413f0fa9..7a5728b957d 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -41,6 +41,7 @@ namespace OC\Group; +use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\Group\Backend\ABackend; use OCP\Group\Backend\IAddToGroupBackend; @@ -97,10 +98,15 @@ class Database extends ABackend public function createGroup(string $gid): bool { $this->fixDI(); - // Add group - $result = $this->dbConn->insertIfNotExist('*PREFIX*groups', [ - 'gid' => $gid, - ]); + try { + // Add group + $builder = $this->dbConn->getQueryBuilder(); + $result = $builder->insert('groups') + ->setValue('gid', $builder->createNamedParameter($gid)) + ->execute(); + } catch(UniqueConstraintViolationException $e) { + $result = 0; + } // Add to cache $this->groupCache[$gid] = $gid; |