diff --git a/lib/private/Authentication/Token/Manager.php b/lib/private/Authentication/Token/Manager.php index 6953f47b004fb..b55970a497908 100644 --- a/lib/private/Authentication/Token/Manager.php +++ b/lib/private/Authentication/Token/Manager.php @@ -7,7 +7,6 @@ */ namespace OC\Authentication\Token; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OC\Authentication\Exceptions\InvalidTokenException as OcInvalidTokenException; use OC\Authentication\Exceptions\PasswordlessTokenException; use OCP\Authentication\Exceptions\ExpiredTokenException; @@ -15,6 +14,7 @@ use OCP\Authentication\Exceptions\WipeTokenException; use OCP\Authentication\Token\IProvider as OCPIProvider; use OCP\Authentication\Token\IToken as OCPIToken; +use OCP\DB\Exception; class Manager implements IProvider, OCPIProvider { /** @var PublicKeyTokenProvider */ @@ -60,7 +60,10 @@ public function generateToken(string $token, $remember, $scope, ); - } catch (UniqueConstraintViolationException $e) { + } catch (Exception $e) { + if ($e->getReason() !== Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } // It's rare, but if two requests of the same session (e.g. env-based SAML) // try to create the session token they might end up here at the same time // because we use the session ID as token and the db token is created anew diff --git a/lib/private/Collaboration/Resources/Collection.php b/lib/private/Collaboration/Resources/Collection.php index 2481a3e9a0945..a8219bc633b14 100644 --- a/lib/private/Collaboration/Resources/Collection.php +++ b/lib/private/Collaboration/Resources/Collection.php @@ -95,7 +95,7 @@ public function addResource(IResource $resource): void { ]); try { - $query->execute(); + $query->executeStatement(); } catch (ConstraintViolationException $e) { throw new ResourceException('Already part of the collection'); } diff --git a/lib/private/Collaboration/Resources/Manager.php b/lib/private/Collaboration/Resources/Manager.php index 8d1e4b13287d1..943deb506071d 100644 --- a/lib/private/Collaboration/Resources/Manager.php +++ b/lib/private/Collaboration/Resources/Manager.php @@ -8,7 +8,6 @@ */ namespace OC\Collaboration\Resources; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OCP\Collaboration\Resources\CollectionException; use OCP\Collaboration\Resources\ICollection; use OCP\Collaboration\Resources\IManager; @@ -16,6 +15,7 @@ use OCP\Collaboration\Resources\IProviderManager; use OCP\Collaboration\Resources\IResource; use OCP\Collaboration\Resources\ResourceException; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; use OCP\IUser; @@ -45,7 +45,7 @@ public function getCollection(int $id): ICollection { $query->select('*') ->from(self::TABLE_COLLECTIONS) ->where($query->expr()->eq('id', $query->createNamedParameter($id, IQueryBuilder::PARAM_INT))); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetch(); $result->closeCursor(); @@ -74,7 +74,7 @@ public function getCollectionForUser(int $id, ?IUser $user): ICollection { ) ) ->where($query->expr()->eq('c.id', $query->createNamedParameter($id, IQueryBuilder::PARAM_INT))); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetch(); $result->closeCursor(); @@ -116,7 +116,7 @@ public function searchCollections(IUser $user, string $filter, int $limit = 50, $query->andWhere($query->expr()->iLike('c.name', $query->createNamedParameter('%' . $this->connection->escapeLikeParameter($filter) . '%'))); } - $result = $query->execute(); + $result = $query->executeQuery(); $collections = []; $foundResults = 0; @@ -146,7 +146,7 @@ public function newCollection(string $name): ICollection { ->values([ 'name' => $query->createNamedParameter($name), ]); - $query->execute(); + $query->executeStatement(); return new Collection($this, $this->connection, $query->getLastInsertId(), $name); } @@ -178,7 +178,7 @@ public function getResourceForUser(string $type, string $id, ?IUser $user): IRes ) ->where($query->expr()->eq('r.resource_type', $query->createNamedParameter($type, IQueryBuilder::PARAM_STR))) ->andWhere($query->expr()->eq('r.resource_id', $query->createNamedParameter($id, IQueryBuilder::PARAM_STR))); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetch(); $result->closeCursor(); @@ -215,7 +215,7 @@ public function getResourcesByCollectionForUser(ICollection $collection, ?IUser ->where($query->expr()->eq('r.collection_id', $query->createNamedParameter($collection->getId(), IQueryBuilder::PARAM_INT))); $resources = []; - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch()) { $access = $row['access'] === null ? null : (bool)$row['access']; $resources[] = new Resource($this, $this->connection, $row['resource_type'], $row['resource_id'], $user, $access); @@ -309,7 +309,7 @@ protected function checkAccessCacheForUserByResource(IResource $resource, ?IUser ->setMaxResults(1); $hasAccess = null; - $result = $query->execute(); + $result = $query->executeQuery(); if ($row = $result->fetch()) { $hasAccess = (bool)$row['access']; } @@ -329,7 +329,7 @@ protected function checkAccessCacheForUserByCollection(ICollection $collection, ->setMaxResults(1); $hasAccess = null; - $result = $query->execute(); + $result = $query->executeQuery(); if ($row = $result->fetch()) { $hasAccess = (bool)$row['access']; } @@ -350,8 +350,11 @@ public function cacheAccessForResource(IResource $resource, ?IUser $user, bool $ 'access' => $query->createNamedParameter($access, IQueryBuilder::PARAM_BOOL), ]); try { - $query->execute(); - } catch (UniqueConstraintViolationException $e) { + $query->executeStatement(); + } catch (Exception $e) { + if ($e->getReason() !== Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } } } @@ -366,8 +369,11 @@ public function cacheAccessForCollection(ICollection $collection, ?IUser $user, 'access' => $query->createNamedParameter($access, IQueryBuilder::PARAM_BOOL), ]); try { - $query->execute(); - } catch (UniqueConstraintViolationException $e) { + $query->executeStatement(); + } catch (Exception $e) { + if ($e->getReason() !== Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } } } @@ -377,7 +383,7 @@ public function invalidateAccessCacheForUser(?IUser $user): void { $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId))); - $query->execute(); + $query->executeStatement(); } public function invalidateAccessCacheForResource(IResource $resource): void { @@ -386,7 +392,7 @@ public function invalidateAccessCacheForResource(IResource $resource): void { $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('resource_id', $query->createNamedParameter($resource->getId()))) ->andWhere($query->expr()->eq('resource_type', $query->createNamedParameter($resource->getType(), IQueryBuilder::PARAM_STR))); - $query->execute(); + $query->executeStatement(); foreach ($resource->getCollections() as $collection) { $this->invalidateAccessCacheForCollection($collection); @@ -398,7 +404,7 @@ public function invalidateAccessCacheForAllCollections(): void { $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->neq('collection_id', $query->createNamedParameter(0))); - $query->execute(); + $query->executeStatement(); } public function invalidateAccessCacheForCollection(ICollection $collection): void { @@ -406,7 +412,7 @@ public function invalidateAccessCacheForCollection(ICollection $collection): voi $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('collection_id', $query->createNamedParameter($collection->getId()))); - $query->execute(); + $query->executeStatement(); } public function invalidateAccessCacheForProvider(IProvider $provider): void { @@ -414,7 +420,7 @@ public function invalidateAccessCacheForProvider(IProvider $provider): void { $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('resource_type', $query->createNamedParameter($provider->getType(), IQueryBuilder::PARAM_STR))); - $query->execute(); + $query->executeStatement(); } public function invalidateAccessCacheForResourceByUser(IResource $resource, ?IUser $user): void { @@ -424,7 +430,7 @@ public function invalidateAccessCacheForResourceByUser(IResource $resource, ?IUs $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('resource_id', $query->createNamedParameter($resource->getId()))) ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($userId))); - $query->execute(); + $query->executeStatement(); foreach ($resource->getCollections() as $collection) { $this->invalidateAccessCacheForCollectionByUser($collection, $user); @@ -438,7 +444,7 @@ protected function invalidateAccessCacheForCollectionByUser(ICollection $collect $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('collection_id', $query->createNamedParameter($collection->getId()))) ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($userId))); - $query->execute(); + $query->executeStatement(); } public function invalidateAccessCacheForProviderByUser(IProvider $provider, ?IUser $user): void { @@ -448,7 +454,7 @@ public function invalidateAccessCacheForProviderByUser(IProvider $provider, ?IUs $query->delete(self::TABLE_ACCESS_CACHE) ->where($query->expr()->eq('resource_type', $query->createNamedParameter($provider->getType(), IQueryBuilder::PARAM_STR))) ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($userId))); - $query->execute(); + $query->executeStatement(); } public function registerResourceProvider(string $provider): void { diff --git a/lib/private/Collaboration/Resources/Resource.php b/lib/private/Collaboration/Resources/Resource.php index 19da3da7e7d27..05eaeb8f6aa7c 100644 --- a/lib/private/Collaboration/Resources/Resource.php +++ b/lib/private/Collaboration/Resources/Resource.php @@ -102,7 +102,7 @@ public function getCollections(): array { ->where($query->expr()->eq('resource_type', $query->createNamedParameter($this->getType()))) ->andWhere($query->expr()->eq('resource_id', $query->createNamedParameter($this->getId()))); - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch()) { $collections[] = $this->manager->getCollection((int)$row['collection_id']); } diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index 8a4fc4183b938..6042443c8b604 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -7,14 +7,13 @@ */ namespace OC\Comments; -use Doctrine\DBAL\Exception\DriverException; -use OCA\DAV\Connector\Sabre\File; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Comments\CommentsEvent; use OCP\Comments\IComment; use OCP\Comments\ICommentsEventHandler; use OCP\Comments\ICommentsManager; use OCP\Comments\NotFoundException; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\FileInfo; @@ -176,7 +175,7 @@ protected function updateChildrenInformation($id, \DateTime $cDateTime): void { ->where($qb->expr()->eq('parent_id', $qb->createParameter('id'))) ->setParameter('id', $id); - $resultStatement = $query->execute(); + $resultStatement = $query->executeQuery(); $data = $resultStatement->fetch(\PDO::FETCH_NUM); $resultStatement->closeCursor(); $children = (int)$data[0]; @@ -250,7 +249,7 @@ public function get($id): IComment { ->from('comments') ->where($qb->expr()->eq('id', $qb->createParameter('id'))) ->setParameter('id', $id, IQueryBuilder::PARAM_INT) - ->execute(); + ->executeQuery(); $data = $resultStatement->fetch(); $resultStatement->closeCursor(); @@ -286,7 +285,7 @@ public function getTree($id, $limit = 0, $offset = 0): array { $query->setFirstResult($offset); } - $resultStatement = $query->execute(); + $resultStatement = $query->executeQuery(); while ($data = $resultStatement->fetch()) { $comment = $this->getCommentFromData($data); $this->cache($comment); @@ -345,7 +344,7 @@ public function getForObject( ->setParameter('notOlderThan', $notOlderThan, 'datetime'); } - $resultStatement = $query->execute(); + $resultStatement = $query->executeQuery(); while ($data = $resultStatement->fetch()) { $comment = $this->getCommentFromData($data); $this->cache($comment); @@ -507,7 +506,7 @@ public function getCommentsWithVerbForObjectSinceComment( } } - $resultStatement = $query->execute(); + $resultStatement = $query->executeQuery(); while ($data = $resultStatement->fetch()) { $comment = $this->getCommentFromData($data); $this->cache($comment); @@ -533,7 +532,7 @@ protected function getLastKnownComment(string $objectType, ->andWhere($query->expr()->eq('object_id', $query->createNamedParameter($objectId))) ->andWhere($query->expr()->eq('id', $query->createNamedParameter($id, IQueryBuilder::PARAM_INT))); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetch(); $result->closeCursor(); @@ -605,7 +604,7 @@ public function searchForObjects(string $search, string $objectType, array $obje } $comments = []; - $result = $query->execute(); + $result = $query->executeQuery(); while ($data = $result->fetch()) { $comment = $this->getCommentFromData($data); $this->cache($comment); @@ -649,7 +648,7 @@ public function getNumberOfCommentsForObjects(string $objectType, array $objectI $query->groupBy('object_id'); $comments = array_fill_keys($objectIds, 0); - $resultStatement = $query->execute(); + $resultStatement = $query->executeQuery(); while ($data = $resultStatement->fetch()) { $comments[$data['object_id']] = (int)$data['num_comments']; } @@ -767,7 +766,7 @@ public function getLastCommentBeforeDate(string $objectType, string $objectId, \ $query->andWhere($query->expr()->eq('verb', $query->createNamedParameter($verb))); } - $result = $query->execute(); + $result = $query->executeQuery(); $data = $result->fetch(); $result->closeCursor(); @@ -804,7 +803,7 @@ public function getLastCommentDateByActor( ->andWhere($query->expr()->in('actor_id', $query->createNamedParameter($actors, IQueryBuilder::PARAM_STR_ARRAY))) ->groupBy('actor_id'); - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch()) { $lastComments[$row['actor_id']] = $this->timeFactory->getDateTime($row['last_comment']); } @@ -875,20 +874,23 @@ public function delete($id) { try { $comment = $this->get($id); - } catch (\Exception $e) { + } catch (\Exception) { // Ignore exceptions, we just don't fire a hook then $comment = null; } + if (!is_numeric($id)) { + return false; + } + $qb = $this->dbConn->getQueryBuilder(); $query = $qb->delete('comments') - ->where($qb->expr()->eq('id', $qb->createParameter('id'))) - ->setParameter('id', $id); + ->where($qb->expr()->eq('id', $qb->createNamedParameter((int)$id, IQueryBuilder::PARAM_INT))); try { - $affectedRows = $query->execute(); + $affectedRows = $query->executeStatement(); $this->uncache($id); - } catch (DriverException $e) { + } catch (Exception $e) { $this->logger->error($e->getMessage(), [ 'exception' => $e, 'app' => 'core_comments', @@ -1138,7 +1140,7 @@ protected function insert(IComment $comment): bool { $affectedRows = $qb->insert('comments') ->values($values) - ->execute(); + ->executeStatement(); if ($affectedRows > 0) { $comment->setId((string)$qb->getLastInsertId()); @@ -1278,56 +1280,42 @@ protected function updateQuery(IComment $comment): bool { } /** - * removes references to specific actor (e.g. on user delete) of a comment. - * The comment itself must not get lost/deleted. - * - * @param string $actorType the actor type (e.g. 'users') - * @param string $actorId a user id - * @return boolean - * @since 9.0.0 + * @inheritDoc */ - public function deleteReferencesOfActor($actorType, $actorId) { + public function deleteReferencesOfActor($actorType, $actorId): bool { $this->checkRoleParameters('Actor', $actorType, $actorId); $qb = $this->dbConn->getQueryBuilder(); - $affectedRows = $qb - ->update('comments') + $qb->update('comments') ->set('actor_type', $qb->createNamedParameter(ICommentsManager::DELETED_USER)) ->set('actor_id', $qb->createNamedParameter(ICommentsManager::DELETED_USER)) ->where($qb->expr()->eq('actor_type', $qb->createParameter('type'))) ->andWhere($qb->expr()->eq('actor_id', $qb->createParameter('id'))) ->setParameter('type', $actorType) - ->setParameter('id', $actorId) - ->execute(); + ->setParameter('id', $actorId); + $affectedRows = $qb->executeStatement(); $this->commentsCache = []; - - return is_int($affectedRows); + return true; } /** - * deletes all comments made of a specific object (e.g. on file delete) - * - * @param string $objectType the object type (e.g. 'files') - * @param string $objectId e.g. the file id - * @return boolean - * @since 9.0.0 + * @inheritDoc */ - public function deleteCommentsAtObject($objectType, $objectId) { + public function deleteCommentsAtObject($objectType, $objectId): bool { $this->checkRoleParameters('Object', $objectType, $objectId); $qb = $this->dbConn->getQueryBuilder(); - $affectedRows = $qb + $qb ->delete('comments') ->where($qb->expr()->eq('object_type', $qb->createParameter('type'))) ->andWhere($qb->expr()->eq('object_id', $qb->createParameter('id'))) ->setParameter('type', $objectType) - ->setParameter('id', $objectId) - ->execute(); + ->setParameter('id', $objectId); + $affectedRows = $qb->executeStatement(); $this->commentsCache = []; - - return is_int($affectedRows); + return true; } /** @@ -1344,8 +1332,8 @@ public function deleteReadMarksFromUser(IUser $user) { ->setParameter('user_id', $user->getUID()); try { - $affectedRows = $query->execute(); - } catch (DriverException $e) { + $affectedRows = $query->executeStatement(); + } catch (Exception $e) { $this->logger->error($e->getMessage(), [ 'exception' => $e, 'app' => 'core_comments', @@ -1389,7 +1377,7 @@ public function setReadMark($objectType, $objectId, \DateTime $dateTime, IUser $ ->setParameter('user_id', $user->getUID(), IQueryBuilder::PARAM_STR) ->setParameter('object_type', $objectType, IQueryBuilder::PARAM_STR) ->setParameter('object_id', $objectId, IQueryBuilder::PARAM_STR) - ->execute(); + ->executeStatement(); if ($affectedRows > 0) { return; @@ -1397,7 +1385,7 @@ public function setReadMark($objectType, $objectId, \DateTime $dateTime, IUser $ $qb->insert('comments_read_markers') ->values($values) - ->execute(); + ->executeStatement(); } /** @@ -1421,7 +1409,7 @@ public function getReadMark($objectType, $objectId, IUser $user) { ->setParameter('user_id', $user->getUID(), IQueryBuilder::PARAM_STR) ->setParameter('object_type', $objectType, IQueryBuilder::PARAM_STR) ->setParameter('object_id', $objectId, IQueryBuilder::PARAM_STR) - ->execute(); + ->executeQuery(); $data = $resultStatement->fetch(); $resultStatement->closeCursor(); @@ -1451,8 +1439,8 @@ public function deleteReadMarksOnObject($objectType, $objectId) { ->setParameter('object_id', $objectId); try { - $affectedRows = $query->execute(); - } catch (DriverException $e) { + $affectedRows = $query->executeStatement(); + } catch (Exception $e) { $this->logger->error($e->getMessage(), [ 'exception' => $e, 'app' => 'core_comments', diff --git a/lib/private/DB/QueryBuilder/Sharded/CrossShardMoveHelper.php b/lib/private/DB/QueryBuilder/Sharded/CrossShardMoveHelper.php index 81530b567257d..3cd1c90da2424 100644 --- a/lib/private/DB/QueryBuilder/Sharded/CrossShardMoveHelper.php +++ b/lib/private/DB/QueryBuilder/Sharded/CrossShardMoveHelper.php @@ -90,7 +90,7 @@ public function loadItems(IDBConnection $connection, string $table, string $prim $results = []; foreach ($chunks as $chunk) { $query->setParameter('keys', $chunk, IQueryBuilder::PARAM_INT_ARRAY); - $results = array_merge($results, $query->execute()->fetchAll()); + $results = array_merge($results, $query->executeQuery()->fetchAll()); } return $results; diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index 1f7b74a3e2203..b6b550150f102 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -7,7 +7,6 @@ */ namespace OC\Files\Cache; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OC\DB\Exceptions\DbalException; use OC\DB\QueryBuilder\Sharded\ShardDefinition; use OC\Files\Cache\Wrapper\CacheJail; @@ -16,6 +15,7 @@ use OC\Files\Search\SearchQuery; use OC\Files\Storage\Wrapper\Encryption; use OC\SystemConfig; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\Cache\CacheEntryInsertedEvent; @@ -249,7 +249,7 @@ public function put($file, array $data) { * @param array $data * * @return int file id - * @throws \RuntimeException + * @throws \RuntimeException|Exception */ public function insert($file, array $data) { // normalize file @@ -289,7 +289,7 @@ public function insert($file, array $data) { $builder->setValue($column, $builder->createNamedParameter($value)); } - if ($builder->execute()) { + if ($builder->executeStatement()) { $fileId = $builder->getLastInsertId(); if (count($extensionValues)) { @@ -309,15 +309,19 @@ public function insert($file, array $data) { $this->eventDispatcher->dispatchTyped($event); return $fileId; } - } catch (UniqueConstraintViolationException $e) { - // entry exists already - if ($this->connection->inTransaction()) { - $this->connection->commit(); - $this->connection->beginTransaction(); + } catch (Exception $e) { + if ($e->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + // entry exists already + if ($this->connection->inTransaction()) { + $this->connection->commit(); + $this->connection->beginTransaction(); + } + } else { + throw $e; } } - // The file was created in the mean time + // The file was created in the meantime if (($id = $this->getId($file)) > -1) { $this->update($id, $data); return $id; @@ -376,8 +380,11 @@ public function update($id, array $data) { $query->setValue($column, $query->createNamedParameter($value)); } - $query->execute(); - } catch (UniqueConstraintViolationException $e) { + $query->executeStatement(); + } catch (Exception $e) { + if ($e->getReason() !== Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } $query = $this->getQueryBuilder(); $query->update('filecache_extended') ->whereFileId($id) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 0cb571a39356c..bf2f9dfbcc9f6 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -7,8 +7,8 @@ */ namespace OC\Group; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OC\User\LazyUser; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\Group\Backend\ABackend; use OCP\Group\Backend\IAddToGroupBackend; @@ -71,12 +71,16 @@ public function createGroup(string $name): ?string { try { // Add group $builder = $this->dbConn->getQueryBuilder(); - $result = $builder->insert('groups') + $builder->insert('groups') ->setValue('gid', $builder->createNamedParameter($gid)) ->setValue('displayname', $builder->createNamedParameter($name)) - ->execute(); - } catch (UniqueConstraintViolationException $e) { - return null; + ->executeStatement(); + } catch (Exception $e) { + if ($e->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + return null; + } else { + throw $e; + } } // Add to cache diff --git a/lib/private/Repair/Owncloud/SaveAccountsTableData.php b/lib/private/Repair/Owncloud/SaveAccountsTableData.php index ab1560ddb8dd7..db26f3ce2b702 100644 --- a/lib/private/Repair/Owncloud/SaveAccountsTableData.php +++ b/lib/private/Repair/Owncloud/SaveAccountsTableData.php @@ -121,7 +121,7 @@ protected function runStep($offset) { $query->setFirstResult($offset); } - $result = $query->execute(); + $result = $query->executeQuery(); $update = $this->db->getQueryBuilder(); $update->update('users') @@ -175,7 +175,7 @@ protected function migrateUserInfo(IQueryBuilder $update, $userdata) { if ($userdata['display_name'] !== null) { $update->setParameter('displayname', $userdata['display_name']) ->setParameter('userid', $userdata['user_id']); - $update->execute(); + $update->executeStatement(); } } } diff --git a/lib/private/Repair/Owncloud/UpdateLanguageCodes.php b/lib/private/Repair/Owncloud/UpdateLanguageCodes.php index 8d9046ad49f7a..6bcdd899ec976 100644 --- a/lib/private/Repair/Owncloud/UpdateLanguageCodes.php +++ b/lib/private/Repair/Owncloud/UpdateLanguageCodes.php @@ -64,7 +64,7 @@ public function run(IOutput $output) { ->where($qb->expr()->eq('appid', $qb->createNamedParameter('core'))) ->andWhere($qb->expr()->eq('configkey', $qb->createNamedParameter('lang'))) ->andWhere($qb->expr()->eq('configvalue', $qb->createNamedParameter($oldCode), IQueryBuilder::PARAM_STR)) - ->execute(); + ->executeStatement(); $output->info('Changed ' . $affectedRows . ' setting(s) from "' . $oldCode . '" to "' . $newCode . '" in preferences table.'); } diff --git a/lib/private/Repair/RepairDavShares.php b/lib/private/Repair/RepairDavShares.php index 557e2c080ca73..8199d3dff2784 100644 --- a/lib/private/Repair/RepairDavShares.php +++ b/lib/private/Repair/RepairDavShares.php @@ -52,7 +52,7 @@ protected function repairUnencodedGroupShares() { ->set('principaluri', $updateQuery->createParameter('updatedPrincipalUri')) ->where($updateQuery->expr()->eq('id', $updateQuery->createParameter('shareId'))); - $statement = $qb->execute(); + $statement = $qb->executeQuery(); while ($share = $statement->fetch()) { $gid = substr($share['principaluri'], strlen(self::GROUP_PRINCIPAL_PREFIX)); $decodedGid = urldecode($gid); @@ -81,7 +81,7 @@ protected function repairUnencodedGroupShares() { $updateQuery ->setParameter('updatedPrincipalUri', $fixedPrincipal) ->setParameter('shareId', $share['id']) - ->execute(); + ->executeStatement(); $this->logger->info('Repaired principal for dav share {id} from {old} to {new}', $logParameters); } catch (Exception $e) { $logParameters['message'] = $e->getMessage(); diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php index 3c9720b9e9156..e0a00d339e796 100644 --- a/lib/private/Repair/RepairMimeTypes.php +++ b/lib/private/Repair/RepairMimeTypes.php @@ -53,7 +53,7 @@ private function updateMimetypes($updatedMimetypes): IResult|int|null { if (empty($this->folderMimeTypeId)) { $query->setParameter('mimetype', 'httpd/unix-directory'); - $result = $query->execute(); + $result = $query->executeQuery(); $this->folderMimeTypeId = (int)$result->fetchOne(); $result->closeCursor(); } @@ -71,21 +71,21 @@ private function updateMimetypes($updatedMimetypes): IResult|int|null { foreach ($updatedMimetypes as $extension => $mimetype) { // get target mimetype id $query->setParameter('mimetype', $mimetype); - $result = $query->execute(); + $result = $query->executeQuery(); $mimetypeId = (int)$result->fetchOne(); $result->closeCursor(); if (!$mimetypeId) { // insert mimetype $insert->setParameter('mimetype', $mimetype); - $insert->execute(); + $insert->executeStatement(); $mimetypeId = $insert->getLastInsertId(); } // change mimetype for files with x extension $update->setParameter('mimetype', $mimetypeId) ->setParameter('name', '%' . $this->connection->escapeLikeParameter('.' . $extension)); - $count += $update->execute(); + $count += $update->executeStatement(); } return $count; diff --git a/lib/private/Setup/PostgreSQL.php b/lib/private/Setup/PostgreSQL.php index 9a686db2e54d8..3f8d5e0585447 100644 --- a/lib/private/Setup/PostgreSQL.php +++ b/lib/private/Setup/PostgreSQL.php @@ -34,7 +34,7 @@ public function setupDatabase() { ->andWhere($builder->expr()->eq('rolname', $builder->createNamedParameter($this->dbUser))); try { - $result = $query->execute(); + $result = $query->executeQuery(); $canCreateRoles = $result->rowCount() > 0; } catch (DatabaseException $e) { $canCreateRoles = false; @@ -106,7 +106,7 @@ private function createDatabase(Connection $connection) { //The database does not exists... let's create it $query = $connection->prepare('CREATE DATABASE ' . addslashes($this->dbName) . ' OWNER "' . addslashes($this->dbUser) . '"'); try { - $query->execute(); + $query->executeStatement(); } catch (DatabaseException $e) { $this->logger->error('Error while trying to create database', [ 'exception' => $e, @@ -115,7 +115,7 @@ private function createDatabase(Connection $connection) { } else { $query = $connection->prepare('REVOKE ALL PRIVILEGES ON DATABASE ' . addslashes($this->dbName) . ' FROM PUBLIC'); try { - $query->execute(); + $query->executeStatement(); } catch (DatabaseException $e) { $this->logger->error('Error while trying to restrict database permissions', [ 'exception' => $e, @@ -155,10 +155,10 @@ private function createDBUser(Connection $connection) { // create the user $query = $connection->prepare('CREATE USER "' . addslashes($this->dbUser) . "\" CREATEDB PASSWORD '" . addslashes($this->dbPassword) . "'"); - $query->execute(); + $query->executeStatement(); if ($this->databaseExists($connection)) { $query = $connection->prepare('GRANT CONNECT ON DATABASE ' . addslashes($this->dbName) . ' TO "' . addslashes($this->dbUser) . '"'); - $query->execute(); + $query->executeStatement(); } } catch (DatabaseException $e) { $this->logger->error('Error while trying to create database user', [ diff --git a/lib/private/SystemTag/SystemTagManager.php b/lib/private/SystemTag/SystemTagManager.php index 4b421fa033a2f..2b8992f0aef35 100644 --- a/lib/private/SystemTag/SystemTagManager.php +++ b/lib/private/SystemTag/SystemTagManager.php @@ -8,7 +8,7 @@ */ namespace OC\SystemTag; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\EventDispatcher\IEventDispatcher; use OCP\IAppConfig; @@ -74,7 +74,7 @@ public function getTagsByIds($tagIds, ?IUser $user = null): array { ->addOrderBy('editable', 'ASC') ->setParameter('tagids', $tagIds, IQueryBuilder::PARAM_INT_ARRAY); - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch()) { $tag = $this->createSystemTagFromRow($row); if ($user && !$this->canUserSeeTag($tag, $user)) { @@ -137,7 +137,7 @@ public function getTag(string $tagName, bool $userVisible, bool $userAssignable) ->setParameter('name', $truncatedTagName) ->setParameter('visibility', $userVisible ? 1 : 0) ->setParameter('editable', $userAssignable ? 1 : 0) - ->execute(); + ->executeQuery(); $row = $result->fetch(); $result->closeCursor(); @@ -176,13 +176,16 @@ public function createTag(string $tagName, bool $userVisible, bool $userAssignab ]); try { - $query->execute(); - } catch (UniqueConstraintViolationException $e) { - throw new TagAlreadyExistsException( - 'Tag ("' . $truncatedTagName . '", ' . $userVisible . ', ' . $userAssignable . ') already exists', - 0, - $e - ); + $query->executeStatement(); + } catch (Exception $e) { + if ($e->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw new TagAlreadyExistsException( + 'Tag ("' . $truncatedTagName . '", ' . $userVisible . ', ' . $userAssignable . ') already exists', + 0, + $e + ); + } + throw $e; } $tagId = $query->getLastInsertId(); @@ -257,17 +260,20 @@ public function updateTag( ->setParameter('color', $color); try { - if ($query->execute() === 0) { + if ($query->executeStatement() === 0) { throw new TagNotFoundException( 'Tag does not exist', 0, null, [$tagId] ); } - } catch (UniqueConstraintViolationException $e) { - throw new TagAlreadyExistsException( - 'Tag ("' . $newName . '", ' . $userVisible . ', ' . $userAssignable . ') already exists', - 0, - $e - ); + } catch (Exception $e) { + if ($e->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw new TagAlreadyExistsException( + 'Tag ("' . $newName . '", ' . $userVisible . ', ' . $userAssignable . ') already exists', + 0, + $e + ); + } + throw $e; } $this->dispatcher->dispatch(ManagerEvent::EVENT_UPDATE, new ManagerEvent( @@ -303,13 +309,13 @@ public function deleteTags($tagIds): void { $query->delete(SystemTagObjectMapper::RELATION_TABLE) ->where($query->expr()->in('systemtagid', $query->createParameter('tagids'))) ->setParameter('tagids', $tagIds, IQueryBuilder::PARAM_INT_ARRAY) - ->execute(); + ->executeStatement(); $query = $this->connection->getQueryBuilder(); $query->delete(self::TAG_TABLE) ->where($query->expr()->in('id', $query->createParameter('tagids'))) ->setParameter('tagids', $tagIds, IQueryBuilder::PARAM_INT_ARRAY) - ->execute(); + ->executeStatement(); foreach ($tags as $tag) { $this->dispatcher->dispatch(ManagerEvent::EVENT_DELETE, new ManagerEvent( @@ -404,7 +410,7 @@ public function setTagGroups(ISystemTag $tag, array $groupIds): void { $query = $this->connection->getQueryBuilder(); $query->delete(self::TAG_GROUP_TABLE) ->where($query->expr()->eq('systemtagid', $query->createNamedParameter($tag->getId()))) - ->execute(); + ->executeStatement(); // add each group id $query = $this->connection->getQueryBuilder(); @@ -418,7 +424,7 @@ public function setTagGroups(ISystemTag $tag, array $groupIds): void { continue; } $query->setParameter('gid', $groupId); - $query->execute(); + $query->executeStatement(); } $this->connection->commit(); @@ -436,7 +442,7 @@ public function getTagGroups(ISystemTag $tag): array { ->where($query->expr()->eq('systemtagid', $query->createNamedParameter($tag->getId()))) ->orderBy('gid'); - $result = $query->execute(); + $result = $query->executeQuery(); while ($row = $result->fetch()) { $groupIds[] = $row['gid']; } diff --git a/lib/private/SystemTag/SystemTagObjectMapper.php b/lib/private/SystemTag/SystemTagObjectMapper.php index 1fa5975dafb16..59da1a159394e 100644 --- a/lib/private/SystemTag/SystemTagObjectMapper.php +++ b/lib/private/SystemTag/SystemTagObjectMapper.php @@ -9,7 +9,7 @@ */ namespace OC\SystemTag; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; +use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\EventDispatcher\IEventDispatcher; use OCP\IDBConnection; @@ -149,9 +149,12 @@ public function assignTags(string $objId, string $objectType, $tagIds): void { foreach ($tagIds as $tagId) { try { $query->setParameter('tagid', $tagId); - $query->execute(); + $query->executeStatement(); $tagsAssigned[] = $tagId; - } catch (UniqueConstraintViolationException $e) { + } catch (Exception $e) { + if ($e->getReason() !== Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } // ignore existing relations } } @@ -213,7 +216,7 @@ private function updateEtagForTags(array $tagIds): void { $query->update('systemtag') ->set('etag', $query->createNamedParameter($md5)) ->where($query->expr()->in('id', $query->createNamedParameter($tagIds, IQueryBuilder::PARAM_INT_ARRAY))); - $query->execute(); + $query->executeStatement(); } /** diff --git a/lib/private/TagManager.php b/lib/private/TagManager.php index 5c346e1443060..bfdef55e116b7 100644 --- a/lib/private/TagManager.php +++ b/lib/private/TagManager.php @@ -75,7 +75,7 @@ public function getUsersFavoritingObject(string $objectType, int $objectId): arr ->andWhere($query->expr()->eq('c.type', $query->createNamedParameter($objectType))) ->andWhere($query->expr()->eq('c.category', $query->createNamedParameter(ITags::TAG_FAVORITE))); - $result = $query->execute(); + $result = $query->executeQuery(); $users = $result->fetchAll(\PDO::FETCH_COLUMN); $result->closeCursor(); diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index 097fd9a0dc864..095c3bbc1ec08 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -589,7 +589,7 @@ public function countDisabledUsers(): int { ->andWhere($queryBuilder->expr()->eq('configvalue', $queryBuilder->createNamedParameter('false'), IQueryBuilder::PARAM_STR)); - $result = $queryBuilder->execute(); + $result = $queryBuilder->executeQuery(); $count = $result->fetchOne(); $result->closeCursor(); @@ -615,7 +615,7 @@ public function countSeenUsers() { ->where($queryBuilder->expr()->eq('appid', $queryBuilder->createNamedParameter('login'))) ->andWhere($queryBuilder->expr()->eq('configkey', $queryBuilder->createNamedParameter('lastLogin'))); - $query = $queryBuilder->execute(); + $query = $queryBuilder->executeQuery(); $result = (int)$query->fetchOne(); $query->closeCursor(); @@ -661,7 +661,7 @@ private function getSeenUserIds($limit = null, $offset = null) { if ($offset !== null) { $queryBuilder->setFirstResult($offset); } - $query = $queryBuilder->execute(); + $query = $queryBuilder->executeQuery(); $result = []; while ($row = $query->fetch()) { diff --git a/lib/public/Comments/ICommentsManager.php b/lib/public/Comments/ICommentsManager.php index 43402414c57ea..48524ea832ac4 100644 --- a/lib/public/Comments/ICommentsManager.php +++ b/lib/public/Comments/ICommentsManager.php @@ -366,7 +366,7 @@ public function supportReactions(): bool; public function save(IComment $comment); /** - * removes references to specific actor (e.g. on user delete) of a comment. + * Deletes all references to specific actor (e.g. on user delete) of a comment. * The comment itself must not get lost/deleted. * * A 'users' type actor (type and id) should get replaced by the @@ -374,17 +374,17 @@ public function save(IComment $comment); * * @param string $actorType the actor type (e.g. 'users') * @param string $actorId a user id - * @return boolean + * @return boolean whether the deletion was successful * @since 9.0.0 */ public function deleteReferencesOfActor($actorType, $actorId); /** - * deletes all comments made of a specific object (e.g. on file delete) + * Deletes all comments made of a specific object (e.g. on file delete). * * @param string $objectType the object type (e.g. 'files') * @param string $objectId e.g. the file id - * @return boolean + * @return boolean whether the deletion was successful * @since 9.0.0 */ public function deleteCommentsAtObject($objectType, $objectId); diff --git a/lib/public/IDBConnection.php b/lib/public/IDBConnection.php index ea9b71d895872..05ac0da2d7a2e 100644 --- a/lib/public/IDBConnection.php +++ b/lib/public/IDBConnection.php @@ -146,7 +146,7 @@ public function lastInsertId(string $table): int; * @return int number of inserted rows * @throws Exception used to be the removed dbal exception, since 21.0.0 it's \OCP\DB\Exception * @since 6.0.0 - parameter $compare was added in 8.1.0, return type changed from boolean in 8.1.0 - * @deprecated 15.0.0 - use unique index and "try { $db->insert() } catch (UniqueConstraintViolationException $e) {}" instead, because it is more reliable and does not have the risk for deadlocks - see https://github.com/nextcloud/server/pull/12371 + * @deprecated 15.0.0 - use unique index and "try { $db->insert() } catch (\OCP\DB\Exception $e) { if ($e->getReason() === \OCP\DB\Exception::REASON_CONSTRAINT_VIOLATION) {} }" instead, because it is more reliable and does not have the risk for deadlocks - see https://github.com/nextcloud/server/pull/12371 */ public function insertIfNotExist(string $table, array $input, ?array $compare = null); diff --git a/tests/lib/Authentication/Token/ManagerTest.php b/tests/lib/Authentication/Token/ManagerTest.php index 58bbe2362480d..8c238fb1587bc 100644 --- a/tests/lib/Authentication/Token/ManagerTest.php +++ b/tests/lib/Authentication/Token/ManagerTest.php @@ -9,12 +9,12 @@ namespace Test\Authentication\Token; -use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use OC\Authentication\Exceptions\InvalidTokenException; use OC\Authentication\Token\IToken; use OC\Authentication\Token\Manager; use OC\Authentication\Token\PublicKeyToken; use OC\Authentication\Token\PublicKeyTokenProvider; +use OCP\DB\Exception; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; @@ -62,8 +62,9 @@ public function testGenerateToken(): void { } public function testGenerateConflictingToken(): void { - /** @var MockObject|UniqueConstraintViolationException $exception */ - $exception = $this->createMock(UniqueConstraintViolationException::class); + /** @var MockObject|Exception $exception */ + $exception = $this->createMock(Exception::class); + $exception->method('getReason')->willReturn(Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION); $token = new PublicKeyToken(); $token->setUid('uid'); diff --git a/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php index d1585dadc2614..e6c5296c21656 100644 --- a/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php +++ b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php @@ -43,7 +43,7 @@ protected function setUp(): void { private function resetDatabase() { $qb = $this->dbConnection->getQueryBuilder(); - $qb->delete('authtoken')->execute(); + $qb->delete('authtoken')->executeStatement(); $qb->insert('authtoken')->values([ 'uid' => $qb->createNamedParameter('user1'), 'login_name' => $qb->createNamedParameter('User1'), @@ -56,7 +56,7 @@ private function resetDatabase() { 'public_key' => $qb->createNamedParameter('public key'), 'private_key' => $qb->createNamedParameter('private key'), 'version' => $qb->createNamedParameter(2), - ])->execute(); + ])->executeStatement(); $qb->insert('authtoken')->values([ 'uid' => $qb->createNamedParameter('user2'), 'login_name' => $qb->createNamedParameter('User2'), @@ -69,7 +69,7 @@ private function resetDatabase() { 'public_key' => $qb->createNamedParameter('public key'), 'private_key' => $qb->createNamedParameter('private key'), 'version' => $qb->createNamedParameter(2), - ])->execute(); + ])->executeStatement(); $qb->insert('authtoken')->values([ 'uid' => $qb->createNamedParameter('user1'), 'login_name' => $qb->createNamedParameter('User1'), @@ -82,7 +82,7 @@ private function resetDatabase() { 'public_key' => $qb->createNamedParameter('public key'), 'private_key' => $qb->createNamedParameter('private key'), 'version' => $qb->createNamedParameter(2), - ])->execute(); + ])->executeStatement(); $qb->insert('authtoken')->values([ 'uid' => $qb->createNamedParameter('user3'), 'login_name' => $qb->createNamedParameter('User3'), @@ -96,7 +96,7 @@ private function resetDatabase() { 'private_key' => $qb->createNamedParameter('private key'), 'version' => $qb->createNamedParameter(2), 'password_invalid' => $qb->createNamedParameter(1), - ])->execute(); + ])->executeStatement(); $qb->insert('authtoken')->values([ 'uid' => $qb->createNamedParameter('user3'), 'login_name' => $qb->createNamedParameter('User3'), @@ -110,14 +110,14 @@ private function resetDatabase() { 'private_key' => $qb->createNamedParameter('private key'), 'version' => $qb->createNamedParameter(2), 'password_invalid' => $qb->createNamedParameter(1), - ])->execute(); + ])->executeStatement(); } private function getNumberOfTokens() { $qb = $this->dbConnection->getQueryBuilder(); $result = $qb->select($qb->func()->count('*', 'count')) ->from('authtoken') - ->execute() + ->executeQuery() ->fetch(); return (int)$result['count']; } @@ -240,7 +240,7 @@ public function testGetById(): void { $qb->select('id') ->from('authtoken') ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'))); - $result = $qb->execute(); + $result = $qb->executeQuery(); $id = $result->fetch()['id']; $token = $this->mapper->getTokenById((int)$id); @@ -252,7 +252,7 @@ public function testDeleteByName(): void { $qb->select('name') ->from('authtoken') ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'))); - $result = $qb->execute(); + $result = $qb->executeQuery(); $name = $result->fetch()['name']; $this->mapper->deleteByName($name); $this->assertEquals(4, $this->getNumberOfTokens()); diff --git a/tests/lib/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDaoTest.php b/tests/lib/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDaoTest.php index b59ef876ffd36..f3fd8ee0b630f 100644 --- a/tests/lib/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDaoTest.php +++ b/tests/lib/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDaoTest.php @@ -30,7 +30,7 @@ protected function setUp(): void { $this->dbConn = Server::get(IDBConnection::class); $qb = $this->dbConn->getQueryBuilder(); $q = $qb->delete(ProviderUserAssignmentDao::TABLE_NAME); - $q->execute(); + $q->executeStatement(); $this->dao = new ProviderUserAssignmentDao($this->dbConn); } @@ -42,13 +42,13 @@ public function testGetState(): void { 'uid' => $qb->createNamedParameter('user123'), 'enabled' => $qb->createNamedParameter(1), ]); - $q1->execute(); + $q1->executeStatement(); $q2 = $qb->insert(ProviderUserAssignmentDao::TABLE_NAME)->values([ 'provider_id' => $qb->createNamedParameter('twofactor_totp'), 'uid' => $qb->createNamedParameter('user123'), 'enabled' => $qb->createNamedParameter(0), ]); - $q2->execute(); + $q2->executeStatement(); $expected = [ 'twofactor_u2f' => true, 'twofactor_totp' => false, @@ -70,7 +70,7 @@ public function testPersist(): void { ->where($qb->expr()->eq('provider_id', $qb->createNamedParameter('twofactor_totp'))) ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter('user123'))) ->andWhere($qb->expr()->eq('enabled', $qb->createNamedParameter(0))); - $res = $q->execute(); + $res = $q->executeQuery(); $data = $res->fetchAll(); $res->closeCursor(); $this->assertCount(1, $data); @@ -88,7 +88,7 @@ public function testPersistTwice(): void { ->where($qb->expr()->eq('provider_id', $qb->createNamedParameter('twofactor_totp'))) ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter('user123'))) ->andWhere($qb->expr()->eq('enabled', $qb->createNamedParameter(1))); - $res = $q->execute(); + $res = $q->executeQuery(); $data = $res->fetchAll(); $res->closeCursor(); @@ -107,7 +107,7 @@ public function testPersistSameStateTwice(): void { ->where($qb->expr()->eq('provider_id', $qb->createNamedParameter('twofactor_totp'))) ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter('user123'))) ->andWhere($qb->expr()->eq('enabled', $qb->createNamedParameter(1))); - $res = $q->execute(); + $res = $q->executeQuery(); $data = $res->fetchAll(); $res->closeCursor(); diff --git a/tests/lib/BackgroundJob/JobListTest.php b/tests/lib/BackgroundJob/JobListTest.php index d816bf707e887..6f946187c52bb 100644 --- a/tests/lib/BackgroundJob/JobListTest.php +++ b/tests/lib/BackgroundJob/JobListTest.php @@ -58,7 +58,7 @@ protected function setUp(): void { protected function clearJobsList() { $query = $this->connection->getQueryBuilder(); $query->delete('jobs'); - $query->execute(); + $query->executeStatement(); } protected function getAllSorted() { diff --git a/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php b/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php index 9e54d21fda425..ecad5150fb018 100644 --- a/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php +++ b/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php @@ -62,10 +62,10 @@ protected function setUp(): void { protected function tearDown(): void { $query = self::$realDatabase->getQueryBuilder(); - $query->delete('calendar_resources')->execute(); - $query->delete('calendar_resources_md')->execute(); - $query->delete('calendar_rooms')->execute(); - $query->delete('calendar_rooms_md')->execute(); + $query->delete('calendar_resources')->executeStatement(); + $query->delete('calendar_resources_md')->executeStatement(); + $query->delete('calendar_rooms')->executeStatement(); + $query->delete('calendar_rooms_md')->executeStatement(); } /** @@ -215,7 +215,7 @@ public function testUpdateBoth(): void { $rows = []; $ids = []; - $stmt = $query->execute(); + $stmt = $query->executeQuery(); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { $ids[$row['backend_id'] . '::' . $row['resource_id']] = $row['id']; unset($row['id']); @@ -285,7 +285,7 @@ public function testUpdateBoth(): void { $query2->select('*')->from('calendar_resources_md'); $rows2 = []; - $stmt = $query2->execute(); + $stmt = $query2->executeQuery(); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { unset($row['id']); $rows2[] = $row; @@ -345,7 +345,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('Beamer1'), 'group_restrictions' => $query->createNamedParameter('[]'), ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources') ->values([ @@ -355,7 +355,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('TV1'), 'group_restrictions' => $query->createNamedParameter('[]'), ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources') ->values([ @@ -365,7 +365,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('Beamer2'), 'group_restrictions' => $query->createNamedParameter('[]'), ]) - ->execute(); + ->executeStatement(); $id3 = $query->getLastInsertId(); $query->insert('calendar_resources') @@ -376,7 +376,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('TV2'), 'group_restrictions' => $query->createNamedParameter('[]'), ]) - ->execute(); + ->executeStatement(); $id4 = $query->getLastInsertId(); $query->insert('calendar_resources') @@ -387,7 +387,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('Beamer3'), 'group_restrictions' => $query->createNamedParameter('[]'), ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources') ->values([ @@ -397,7 +397,7 @@ protected function createTestResourcesInCache() { 'displayname' => $query->createNamedParameter('Pointer'), 'group_restrictions' => $query->createNamedParameter('["foo", "bar"]'), ]) - ->execute(); + ->executeStatement(); $id6 = $query->getLastInsertId(); $query->insert('calendar_resources_md') @@ -406,34 +406,34 @@ protected function createTestResourcesInCache() { 'key' => $query->createNamedParameter('meta1'), 'value' => $query->createNamedParameter('value1') ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources_md') ->values([ 'resource_id' => $query->createNamedParameter($id3), 'key' => $query->createNamedParameter('meta2'), 'value' => $query->createNamedParameter('value2') ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources_md') ->values([ 'resource_id' => $query->createNamedParameter($id4), 'key' => $query->createNamedParameter('meta1'), 'value' => $query->createNamedParameter('value1') ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources_md') ->values([ 'resource_id' => $query->createNamedParameter($id4), 'key' => $query->createNamedParameter('meta3'), 'value' => $query->createNamedParameter('value3-old') ]) - ->execute(); + ->executeStatement(); $query->insert('calendar_resources_md') ->values([ 'resource_id' => $query->createNamedParameter($id6), 'key' => $query->createNamedParameter('meta99'), 'value' => $query->createNamedParameter('value99') ]) - ->execute(); + ->executeStatement(); } } diff --git a/tests/lib/DB/AdapterTest.php b/tests/lib/DB/AdapterTest.php index 394428337f196..689dbcca04dd7 100644 --- a/tests/lib/DB/AdapterTest.php +++ b/tests/lib/DB/AdapterTest.php @@ -26,7 +26,7 @@ public function tearDown(): void { $qb->delete('appconfig') ->from('appconfig') ->where($qb->expr()->eq('appid', $qb->createNamedParameter($this->appId))) - ->execute(); + ->executeStatement(); } public function testInsertIgnoreOnConflictDuplicate(): void { @@ -63,7 +63,7 @@ private function getRows(string $configKey): array { ->from('appconfig') ->where($qb->expr()->eq('appid', $qb->createNamedParameter($this->appId))) ->andWhere($qb->expr()->eq('configkey', $qb->createNamedParameter($configKey))) - ->execute() + ->executeQuery() ->fetchAll(); } } diff --git a/tests/lib/DB/QueryBuilder/ExpressionBuilderDBTest.php b/tests/lib/DB/QueryBuilder/ExpressionBuilderDBTest.php index 153993f396e26..a13490c52f35f 100644 --- a/tests/lib/DB/QueryBuilder/ExpressionBuilderDBTest.php +++ b/tests/lib/DB/QueryBuilder/ExpressionBuilderDBTest.php @@ -61,7 +61,7 @@ public function testLike($param1, $param2, $match): void { ->from('users') ->where($query->expr()->like($query->createNamedParameter($param1), $query->createNamedParameter($param2))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals($match, $column); @@ -98,7 +98,7 @@ public function testILike($param1, $param2, $match): void { ->from('users') ->where($query->expr()->iLike($query->createNamedParameter($param1), $query->createNamedParameter($param2))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals($match, $column); @@ -204,7 +204,7 @@ protected function createConfig($appId, $key, $value) { 'configkey' => $query->createNamedParameter((string)$key), 'configvalue' => $query->createNamedParameter((string)$value), ]) - ->execute(); + ->executeStatement(); } protected function prepareTestingTable(): void { diff --git a/tests/lib/DB/QueryBuilder/ExpressionBuilderTest.php b/tests/lib/DB/QueryBuilder/ExpressionBuilderTest.php index 1f84ebfbec1d2..1373fde5407e1 100644 --- a/tests/lib/DB/QueryBuilder/ExpressionBuilderTest.php +++ b/tests/lib/DB/QueryBuilder/ExpressionBuilderTest.php @@ -407,7 +407,7 @@ public function testClobComparisons($function, $value, $type, $compareKeyToValue $query->andWhere(call_user_func([$query->expr(), $function], 'configkey', 'configvalue', IQueryBuilder::PARAM_STR)); } - $result = $query->execute(); + $result = $query->executeQuery(); $this->assertEquals(['count' => $expected], $result->fetch()); $result->closeCursor(); @@ -415,7 +415,7 @@ public function testClobComparisons($function, $value, $type, $compareKeyToValue $query = $this->connection->getQueryBuilder(); $query->delete('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter($appId))) - ->execute(); + ->executeStatement(); } protected function createConfig($appId, $key, $value) { @@ -426,6 +426,6 @@ protected function createConfig($appId, $key, $value) { 'configkey' => $query->createNamedParameter((string)$key), 'configvalue' => $query->createNamedParameter((string)$value), ]) - ->execute(); + ->executeStatement(); } } diff --git a/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php b/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php index 5a111c91aa71c..eea5c952c39c8 100644 --- a/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php +++ b/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php @@ -44,7 +44,7 @@ public function testConcatString($closure): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals($return, $column); @@ -120,7 +120,7 @@ public function testGroupConcatWithoutSeparator(): void { ->from('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString(',', $column); @@ -136,7 +136,7 @@ public function testGroupConcatWithSeparator(): void { ->from('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString('#', $column); @@ -152,7 +152,7 @@ public function testGroupConcatWithSingleQuoteSeparator(): void { ->from('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString("'", $column); @@ -168,7 +168,7 @@ public function testGroupConcatWithDoubleQuoteSeparator(): void { ->from('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString('"', $column); @@ -209,7 +209,7 @@ public function testIntGroupConcatWithoutSeparator(): void { ->from('systemtag') ->where($query->expr()->eq('name', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString(',', $column); @@ -225,7 +225,7 @@ public function testIntGroupConcatWithSeparator(): void { ->from('systemtag') ->where($query->expr()->eq('name', $query->createNamedParameter('group_concat'))); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertStringContainsString('#', $column); @@ -240,7 +240,7 @@ public function testMd5(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(md5('foobar'), $column); @@ -253,7 +253,7 @@ public function testSubstring(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals('oo', $column); @@ -266,7 +266,7 @@ public function testSubstringNoLength(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals('oobar', $column); @@ -279,7 +279,7 @@ public function testLower(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals('foobar', $column); @@ -292,7 +292,7 @@ public function testAdd(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(3, $column); @@ -305,7 +305,7 @@ public function testSubtract(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(1, $column); @@ -318,7 +318,7 @@ public function testCount(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertGreaterThan(1, $column); @@ -341,7 +341,7 @@ public function testOctetLength(string $str, int $bytes): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertEquals($bytes, $column); @@ -364,7 +364,7 @@ public function testCharLength(string $str, int $bytes): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $column = $result->fetchOne(); $result->closeCursor(); $this->assertNotNull($column); @@ -380,7 +380,7 @@ private function setUpMinMax($value) { 'configkey' => $query->createNamedParameter(uniqid()), 'configvalue' => $query->createNamedParameter((string)$value), ]); - $query->execute(); + $query->executeStatement(); } private function clearMinMax() { @@ -388,7 +388,7 @@ private function clearMinMax() { $query->delete('appconfig') ->where($query->expr()->eq('appid', $query->createNamedParameter('minmax'))); - $query->execute(); + $query->executeStatement(); } public function testMaxEmpty(): void { @@ -401,7 +401,7 @@ public function testMaxEmpty(): void { ->where($query->expr()->eq('appid', $query->createNamedParameter('minmax'))) ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(null, $row); @@ -417,7 +417,7 @@ public function testMinEmpty(): void { ->where($query->expr()->eq('appid', $query->createNamedParameter('minmax'))) ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(null, $row); @@ -436,7 +436,7 @@ public function testMax(): void { ->where($query->expr()->eq('appid', $query->createNamedParameter('minmax'))) ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(20, $row); @@ -455,7 +455,7 @@ public function testMin(): void { ->where($query->expr()->eq('appid', $query->createNamedParameter('minmax'))) ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(10, $row); @@ -468,7 +468,7 @@ public function testGreatest(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(2, $row); @@ -481,7 +481,7 @@ public function testLeast(): void { $query->from('appconfig') ->setMaxResults(1); - $result = $query->execute(); + $result = $query->executeQuery(); $row = $result->fetchOne(); $result->closeCursor(); $this->assertEquals(1, $row); diff --git a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php index 990191a9ff523..99fe1dd6ac062 100644 --- a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php +++ b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php @@ -15,6 +15,7 @@ use OC\DB\QueryBuilder\QueryBuilder; use OC\SystemConfig; use OCP\DB\IResult; +use OCP\DB\QueryBuilder\ILiteral; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\DB\QueryBuilder\IQueryFunction; use OCP\IDBConnection; @@ -59,7 +60,7 @@ protected function createTestingRows($appId = 'testFirstResult') { 'configkey' => $qB->expr()->literal('testing' . $i), 'configvalue' => $qB->expr()->literal(100 - $i), ]) - ->execute(); + ->executeStatement(); } } @@ -72,7 +73,7 @@ protected function getTestingRows(QueryBuilder $queryBuilder) { )) ->orderBy('configkey', 'ASC'); - $query = $queryBuilder->execute(); + $query = $queryBuilder->executeQuery(); $rows = []; while ($row = $query->fetch()) { $rows[] = $row['configvalue']; @@ -87,7 +88,7 @@ protected function deleteTestingRows($appId = 'testFirstResult') { $qB->delete('*PREFIX*appconfig') ->where($qB->expr()->eq('appid', $qB->expr()->literal($appId))) - ->execute(); + ->executeStatement(); } public static function dataFirstResult(): array { @@ -212,7 +213,7 @@ public function testSelect($selectArguments, $expected, $expectedLiteral = ''): ->orderBy('configkey', 'ASC') ->setMaxResults(1); - $query = $this->queryBuilder->execute(); + $query = $this->queryBuilder->executeQuery(); $row = $query->fetch(); $query->closeCursor(); @@ -241,14 +242,8 @@ public function dataSelectAlias(): array { ]; } - /** - * - * @param mixed $select - * @param array $alias - * @param array $expected - */ #[\PHPUnit\Framework\Attributes\DataProvider('dataSelectAlias')] - public function testSelectAlias($select, $alias, $expected): void { + public function testSelectAlias(string|ILiteral $select, string $alias, array $expected): void { $this->deleteTestingRows(); $this->createTestingRows(); @@ -262,7 +257,7 @@ public function testSelectAlias($select, $alias, $expected): void { ->orderBy('configkey', 'ASC') ->setMaxResults(1); - $query = $this->queryBuilder->execute(); + $query = $this->queryBuilder->executeQuery(); $row = $query->fetch(); $query->closeCursor(); @@ -289,7 +284,7 @@ public function testSelectDistinct(): void { )) ->orderBy('appid', 'DESC'); - $query = $this->queryBuilder->execute(); + $query = $this->queryBuilder->executeQuery(); $rows = $query->fetchAll(); $query->closeCursor(); @@ -317,7 +312,7 @@ public function testSelectDistinctMultiple(): void { )) ->orderBy('configkey', 'ASC'); - $query = $this->queryBuilder->execute(); + $query = $this->queryBuilder->executeQuery(); $rows = $query->fetchAll(); $query->closeCursor(); @@ -391,7 +386,7 @@ public function testAddSelect($selectArguments, $expected, $expectedLiteral = '' ->orderBy('configkey', 'ASC') ->setMaxResults(1); - $query = $this->queryBuilder->execute(); + $query = $this->queryBuilder->executeQuery(); $row = $query->fetch(); $query->closeCursor(); @@ -1179,7 +1174,7 @@ public function testGetLastInsertId(): void { 'propertyname' => $qB->expr()->literal('testing'), 'propertyvalue' => $qB->expr()->literal('testing'), ]) - ->execute(); + ->executeStatement(); $actual = $qB->getLastInsertId(); @@ -1189,7 +1184,7 @@ public function testGetLastInsertId(): void { $qB->delete('properties') ->where($qB->expr()->eq('userid', $qB->expr()->literal('testFirstResult'))) - ->execute(); + ->executeStatement(); try { $qB->getLastInsertId(); @@ -1276,9 +1271,6 @@ public function testExecuteWithoutLogger(): void { $queryBuilder ->method('getParameterTypes') ->willReturn([]); - $queryBuilder - ->method('getType') - ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::UPDATE); $this->logger ->expects($this->never()) ->method('debug'); @@ -1290,7 +1282,7 @@ public function testExecuteWithoutLogger(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->assertEquals(3, $this->queryBuilder->execute()); + $this->assertEquals(3, $this->queryBuilder->executeStatement()); } public function testExecuteWithLoggerAndNamedArray(): void { @@ -1308,9 +1300,6 @@ public function testExecuteWithLoggerAndNamedArray(): void { 'foo' => IQueryBuilder::PARAM_STR, 'key' => IQueryBuilder::PARAM_STR, ]); - $queryBuilder - ->method('getType') - ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::UPDATE); $queryBuilder ->expects($this->any()) ->method('getSQL') @@ -1334,7 +1323,7 @@ public function testExecuteWithLoggerAndNamedArray(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->assertEquals(3, $this->queryBuilder->execute()); + $this->assertEquals(3, $this->queryBuilder->executeStatement()); } public function testExecuteWithLoggerAndUnnamedArray(): void { @@ -1346,9 +1335,6 @@ public function testExecuteWithLoggerAndUnnamedArray(): void { $queryBuilder ->method('getParameterTypes') ->willReturn([IQueryBuilder::PARAM_STR]); - $queryBuilder - ->method('getType') - ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::UPDATE); $queryBuilder ->expects($this->any()) ->method('getSQL') @@ -1372,7 +1358,7 @@ public function testExecuteWithLoggerAndUnnamedArray(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->assertEquals(3, $this->queryBuilder->execute()); + $this->assertEquals(3, $this->queryBuilder->executeStatement()); } public function testExecuteWithLoggerAndNoParams(): void { @@ -1384,9 +1370,6 @@ public function testExecuteWithLoggerAndNoParams(): void { $queryBuilder ->method('getParameterTypes') ->willReturn([]); - $queryBuilder - ->method('getType') - ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::UPDATE); $queryBuilder ->expects($this->any()) ->method('getSQL') @@ -1409,7 +1392,7 @@ public function testExecuteWithLoggerAndNoParams(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->assertEquals(3, $this->queryBuilder->execute()); + $this->assertEquals(3, $this->queryBuilder->executeStatement()); } public function testExecuteWithParameterTooLarge(): void { @@ -1422,6 +1405,10 @@ public function testExecuteWithParameterTooLarge(): void { $queryBuilder ->method('getParameterTypes') ->willReturn([IQueryBuilder::PARAM_STR_ARRAY]); + $queryBuilder + ->expects($this->any()) + ->method('getType') + ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::SELECT); $queryBuilder ->expects($this->any()) ->method('getSQL') @@ -1444,7 +1431,7 @@ public function testExecuteWithParameterTooLarge(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->queryBuilder->execute(); + $this->queryBuilder->executeQuery(); } public function testExecuteWithParametersTooMany(): void { @@ -1457,6 +1444,10 @@ public function testExecuteWithParametersTooMany(): void { $queryBuilder ->method('getParameterTypes') ->willReturn([IQueryBuilder::PARAM_STR_ARRAY]); + $queryBuilder + ->expects($this->any()) + ->method('getType') + ->willReturn(\Doctrine\DBAL\Query\QueryBuilder::SELECT); $queryBuilder ->expects($this->any()) ->method('getSQL') @@ -1479,6 +1470,6 @@ public function testExecuteWithParametersTooMany(): void { $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]); $this->invokePrivate($this->queryBuilder, 'connection', [$this->getConnection()]); - $this->queryBuilder->execute(); + $this->queryBuilder->executeQuery(); } } diff --git a/tests/lib/Files/Cache/ScannerTest.php b/tests/lib/Files/Cache/ScannerTest.php index 123c13893f713..370ad5f60dc47 100644 --- a/tests/lib/Files/Cache/ScannerTest.php +++ b/tests/lib/Files/Cache/ScannerTest.php @@ -343,7 +343,7 @@ public function testRepairParent(): void { $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('filecache') ->where($query->expr()->eq('fileid', $query->createNamedParameter($oldFolderId))); - $query->execute(); + $query->executeStatement(); $cachedData = $this->cache->get('folder/bar.txt'); $this->assertEquals($oldFolderId, $cachedData['parent']); @@ -369,7 +369,7 @@ public function testRepairParentShallow(): void { $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('filecache') ->where($query->expr()->eq('fileid', $query->createNamedParameter($oldFolderId))); - $query->execute(); + $query->executeStatement(); $cachedData = $this->cache->get('folder/bar.txt'); $this->assertEquals($oldFolderId, $cachedData['parent']); diff --git a/tests/lib/Files/Cache/SearchBuilderTest.php b/tests/lib/Files/Cache/SearchBuilderTest.php index ee097044e3baf..89589fcd3429a 100644 --- a/tests/lib/Files/Cache/SearchBuilderTest.php +++ b/tests/lib/Files/Cache/SearchBuilderTest.php @@ -84,7 +84,7 @@ protected function tearDown(): void { $builder->delete('filecache') ->where($builder->expr()->eq('storage', $builder->createNamedParameter($this->numericStorageId, IQueryBuilder::PARAM_INT))); - $builder->execute(); + $builder->executeStatement(); } private function addCacheEntry(array $data) { @@ -121,7 +121,7 @@ private function addCacheEntry(array $data) { $builder->insert('filecache') ->values($values) - ->execute(); + ->executeStatement(); return $builder->getLastInsertId(); } @@ -130,7 +130,7 @@ private function search(ISearchOperator $operator) { $dbOperator = $this->searchBuilder->searchOperatorToDBExpr($this->builder, $operator); $this->builder->andWhere($dbOperator); - $result = $this->builder->execute(); + $result = $this->builder->executeQuery(); $rows = $result->fetchAll(\PDO::FETCH_COLUMN); $result->closeCursor(); diff --git a/tests/lib/Files/Config/UserMountCacheTest.php b/tests/lib/Files/Config/UserMountCacheTest.php index 6a3dc6a6d7e91..bf957e04ed4ef 100644 --- a/tests/lib/Files/Config/UserMountCacheTest.php +++ b/tests/lib/Files/Config/UserMountCacheTest.php @@ -81,14 +81,14 @@ protected function setUp(): void { protected function tearDown(): void { $builder = $this->connection->getQueryBuilder(); - $builder->delete('mounts')->execute(); + $builder->delete('mounts')->executeStatement(); $builder = $this->connection->getQueryBuilder(); foreach ($this->fileIds as $fileId) { $builder->delete('filecache') ->where($builder->expr()->eq('fileid', new Literal($fileId))) - ->execute(); + ->executeStatement(); } } @@ -415,7 +415,7 @@ private function createCacheEntry($internalPath, $storageId, $size = 0) { ->from('filecache') ->where($query->expr()->eq('storage', $query->createNamedParameter($storageId))) ->andWhere($query->expr()->eq('path_hash', $query->createNamedParameter(md5($internalPath)))); - $id = (int)$query->execute()->fetchColumn(); + $id = (int)$query->executeQuery()->fetchColumn(); } else { throw $e; } diff --git a/tests/lib/Files/Type/LoaderTest.php b/tests/lib/Files/Type/LoaderTest.php index 44745a50dc0d9..a2edcd0bcf8ef 100644 --- a/tests/lib/Files/Type/LoaderTest.php +++ b/tests/lib/Files/Type/LoaderTest.php @@ -28,7 +28,7 @@ protected function tearDown(): void { ->where($deleteMimetypes->expr()->like( 'mimetype', $deleteMimetypes->createPositionalParameter('testing/%') )); - $deleteMimetypes->execute(); + $deleteMimetypes->executeStatement(); } @@ -38,7 +38,7 @@ public function testGetMimetype(): void { ->values([ 'mimetype' => $qb->createPositionalParameter('testing/mymimetype') ]); - $qb->execute(); + $qb->executeStatement(); $this->assertTrue($this->loader->exists('testing/mymimetype')); $mimetypeId = $this->loader->getId('testing/mymimetype'); @@ -63,7 +63,7 @@ public function testStore(): void { ->from('mimetypes') ->where($qb->expr()->eq('id', $qb->createPositionalParameter($mimetypeId))); - $result = $qb->execute(); + $result = $qb->executeQuery(); $mimetype = $result->fetch(); $result->closeCursor(); $this->assertEquals('testing/mymimetype', $mimetype['mimetype']); diff --git a/tests/lib/Lock/DBLockingProviderTest.php b/tests/lib/Lock/DBLockingProviderTest.php index 32a223b491343..872ee55d8a84d 100644 --- a/tests/lib/Lock/DBLockingProviderTest.php +++ b/tests/lib/Lock/DBLockingProviderTest.php @@ -59,7 +59,8 @@ protected function getInstance() { } protected function tearDown(): void { - $this->connection->executeQuery('DELETE FROM `*PREFIX*file_locks`'); + $qb = $this->connection->getQueryBuilder(); + $qb->delete('file_locks')->executeStatement(); parent::tearDown(); } @@ -81,10 +82,12 @@ public function testCleanEmptyLocks(): void { $this->assertEquals(2, $this->getLockEntryCount()); } - private function getLockEntryCount() { - $query = $this->connection->prepare('SELECT count(*) FROM `*PREFIX*file_locks`'); - $query->execute(); - return $query->fetchOne(); + private function getLockEntryCount(): int { + $qb = $this->connection->getQueryBuilder(); + $result = $qb->select($qb->func()->count('*')) + ->from('file_locks') + ->executeQuery(); + return (int)$result->fetchOne(); } protected function getLockValue($key) { @@ -93,7 +96,7 @@ protected function getLockValue($key) { ->from('file_locks') ->where($query->expr()->eq('key', $query->createNamedParameter($key))); - $result = $query->execute(); + $result = $query->executeQuery(); $rows = $result->fetchOne(); $result->closeCursor(); diff --git a/tests/lib/Repair/RepairDavSharesTest.php b/tests/lib/Repair/RepairDavSharesTest.php index 73e71d750553e..d0c1c2abca5eb 100644 --- a/tests/lib/Repair/RepairDavSharesTest.php +++ b/tests/lib/Repair/RepairDavSharesTest.php @@ -131,7 +131,7 @@ public function testRun(): void { ->method('where') ->willReturnSelf(); $selectMock->expects($this->once()) - ->method('execute') + ->method('executeQuery') ->willReturn($shareResults); $updateCalls = []; @@ -155,7 +155,7 @@ public function testRun(): void { return $updateMock; }); $updateMock->expects($this->exactly(2)) - ->method('execute'); + ->method('executeStatement'); $this->dbc->expects($this->atLeast(2)) ->method('getQueryBuilder') diff --git a/tests/lib/Share20/DefaultShareProviderTest.php b/tests/lib/Share20/DefaultShareProviderTest.php index bacf2b61ee38c..6b4b0356061aa 100644 --- a/tests/lib/Share20/DefaultShareProviderTest.php +++ b/tests/lib/Share20/DefaultShareProviderTest.php @@ -103,7 +103,7 @@ protected function setUp(): void { $this->timeFactory->expects($this->any())->method('now')->willReturn(new \DateTimeImmutable('2023-05-04 00:00 Europe/Berlin')); //Empty share table - $this->dbConn->getQueryBuilder()->delete('share')->execute(); + $this->dbConn->getQueryBuilder()->delete('share')->executeStatement(); $this->provider = new DefaultShareProvider( $this->dbConn, @@ -122,9 +122,9 @@ protected function setUp(): void { } protected function tearDown(): void { - $this->dbConn->getQueryBuilder()->delete('share')->execute(); - $this->dbConn->getQueryBuilder()->delete('filecache')->runAcrossAllShards()->execute(); - $this->dbConn->getQueryBuilder()->delete('storages')->execute(); + $this->dbConn->getQueryBuilder()->delete('share')->executeStatement(); + $this->dbConn->getQueryBuilder()->delete('filecache')->runAcrossAllShards()->executeStatement(); + $this->dbConn->getQueryBuilder()->delete('storages')->executeStatement(); } /** @@ -180,8 +180,8 @@ private function addShareToDB($shareType, $sharedWith, $sharedBy, $shareOwner, $qb->setValue('parent', $qb->expr()->literal($parent)); } - $this->assertEquals(1, $qb->execute()); - return$qb->getLastInsertId(); + $this->assertEquals(1, $qb->executeStatement()); + return $qb->getLastInsertId(); } @@ -207,7 +207,7 @@ public function testGetShareByIdUserShare(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $qb->execute(); + $qb->executeStatement(); $id = $qb->getLastInsertId(); @@ -254,7 +254,7 @@ public function testGetShareByIdLazy(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $qb->execute(); + $qb->executeStatement(); $id = $qb->getLastInsertId(); @@ -289,7 +289,7 @@ public function testGetShareByIdLazy2(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $qb->execute(); + $qb->executeStatement(); $id = $qb->getLastInsertId(); @@ -333,7 +333,7 @@ public function testGetShareByIdGroupShare(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); // Get the id $id = $qb->getLastInsertId(); @@ -419,7 +419,7 @@ public function testGetShareByIdLinkShare(): void { 'token' => $qb->expr()->literal('token'), 'expiration' => $qb->expr()->literal('2000-01-02 00:00:00'), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); @@ -461,7 +461,7 @@ public function testDeleteSingleShare(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); @@ -493,7 +493,7 @@ public function testDeleteSingleShare(): void { $qb->select('*') ->from('share'); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $result = $cursor->fetchAll(); $cursor->closeCursor(); @@ -513,7 +513,7 @@ public function testDeleteSingleShareLazy(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); @@ -526,7 +526,7 @@ public function testDeleteSingleShareLazy(): void { $qb->select('*') ->from('share'); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $result = $cursor->fetchAll(); $cursor->closeCursor(); @@ -545,7 +545,7 @@ public function testDeleteGroupShareWithUserGroupShares(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -560,7 +560,7 @@ public function testDeleteGroupShareWithUserGroupShares(): void { 'permissions' => $qb->expr()->literal(13), 'parent' => $qb->expr()->literal($id), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $share = $this->createMock(IShare::class); $share->method('getId')->willReturn($id); @@ -591,7 +591,7 @@ public function testDeleteGroupShareWithUserGroupShares(): void { $qb->select('*') ->from('share'); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $result = $cursor->fetchAll(); $cursor->closeCursor(); @@ -611,7 +611,7 @@ public function testGetChildren(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $qb->execute(); + $qb->executeStatement(); // Get the id $id = $qb->getLastInsertId(); @@ -629,7 +629,7 @@ public function testGetChildren(): void { 'permissions' => $qb->expr()->literal(2), 'parent' => $qb->expr()->literal($id), ]); - $qb->execute(); + $qb->executeStatement(); $qb = $this->dbConn->getQueryBuilder(); $qb->insert('share') @@ -644,7 +644,7 @@ public function testGetChildren(): void { 'permissions' => $qb->expr()->literal(4), 'parent' => $qb->expr()->literal($id), ]); - $qb->execute(); + $qb->executeStatement(); $ownerPath = $this->createMock(Folder::class); $ownerFolder = $this->createMock(Folder::class); @@ -900,7 +900,7 @@ public function testGetShareByToken(): void { 'token' => $qb->expr()->literal('secrettoken'), 'label' => $qb->expr()->literal('the label'), ]); - $qb->execute(); + $qb->executeStatement(); $id = $qb->getLastInsertId(); $file = $this->createMock(File::class); @@ -964,7 +964,7 @@ private function createTestStorageEntry($storageStringId) { ->values([ 'id' => $qb->expr()->literal($storageStringId), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); return $qb->getLastInsertId(); } @@ -977,7 +977,7 @@ private function createTestFileEntry($path, $storage = 1) { 'path_hash' => $qb->createNamedParameter(md5($path)), 'name' => $qb->createNamedParameter(basename($path)), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); return $qb->getLastInsertId(); } @@ -1009,7 +1009,7 @@ public function testGetSharedWithUser($storageStringId, $fileName1, $fileName2): 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -1024,7 +1024,7 @@ public function testGetSharedWithUser($storageStringId, $fileName1, $fileName2): 'file_target' => $qb->expr()->literal('myTarget2'), 'permissions' => $qb->expr()->literal(14), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $file = $this->createMock(File::class); $this->rootFolder->method('getUserFolder')->with('shareOwner')->willReturnSelf(); @@ -1058,7 +1058,7 @@ public function testGetSharedWithGroup($storageStringId, $fileName1, $fileName2) 'file_target' => $qb->expr()->literal('myTarget2'), 'permissions' => $qb->expr()->literal(14), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $qb = $this->dbConn->getQueryBuilder(); $qb->insert('share') @@ -1072,7 +1072,7 @@ public function testGetSharedWithGroup($storageStringId, $fileName1, $fileName2) 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); $groups = []; @@ -1129,7 +1129,7 @@ public function testGetSharedWithGroupUserModified($storageStringId, $fileName1, 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); /* @@ -1148,7 +1148,7 @@ public function testGetSharedWithGroupUserModified($storageStringId, $fileName1, 'permissions' => $qb->expr()->literal(31), 'parent' => $qb->expr()->literal($id), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); /* * Correct share. should be taken by code path. @@ -1166,7 +1166,7 @@ public function testGetSharedWithGroupUserModified($storageStringId, $fileName1, 'permissions' => $qb->expr()->literal(0), 'parent' => $qb->expr()->literal($id), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $groups = ['sharedWith']; @@ -1315,7 +1315,7 @@ public function testGetSharedWithWithDeletedFile($shareType, $trashed): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $file = $this->createMock(File::class); $this->rootFolder->method('getUserFolder')->with('shareOwner')->willReturnSelf(); @@ -1361,7 +1361,7 @@ public function testGetSharesBy(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -1377,7 +1377,7 @@ public function testGetSharesBy(): void { 'permissions' => $qb->expr()->literal(0), 'parent' => $qb->expr()->literal($id), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $file = $this->createMock(File::class); $this->rootFolder->method('getUserFolder')->with('shareOwner')->willReturnSelf(); @@ -1410,7 +1410,7 @@ public function testGetSharesNode(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -1426,7 +1426,7 @@ public function testGetSharesNode(): void { 'permissions' => $qb->expr()->literal(0), 'parent' => $qb->expr()->literal($id), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $file = $this->createMock(File::class); $file->method('getId')->willReturn(42); @@ -1460,7 +1460,7 @@ public function testGetSharesReshare(): void { 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id1 = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -1475,7 +1475,7 @@ public function testGetSharesReshare(): void { 'file_target' => $qb->expr()->literal('userTarget'), 'permissions' => $qb->expr()->literal(0), ]); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $id2 = $qb->getLastInsertId(); $file = $this->createMock(File::class); @@ -1518,7 +1518,7 @@ public function testDeleteFromSelfGroupNoCustomShare(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1551,7 +1551,7 @@ public function testDeleteFromSelfGroupNoCustomShare(): void { $stmt = $qb->select('*') ->from('share') ->where($qb->expr()->eq('share_type', $qb->createNamedParameter(2))) - ->execute(); + ->executeQuery(); $shares = $stmt->fetchAll(); $stmt->closeCursor(); @@ -1575,7 +1575,7 @@ public function testDeleteFromSelfGroupAlreadyCustomShare(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1591,7 +1591,7 @@ public function testDeleteFromSelfGroupAlreadyCustomShare(): void { 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2), 'parent' => $qb->expr()->literal($id), - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $user1 = $this->createMock(IUser::class); @@ -1623,7 +1623,7 @@ public function testDeleteFromSelfGroupAlreadyCustomShare(): void { $stmt = $qb->select('*') ->from('share') ->where($qb->expr()->eq('share_type', $qb->createNamedParameter(2))) - ->execute(); + ->executeQuery(); $shares = $stmt->fetchAll(); $stmt->closeCursor(); @@ -1648,7 +1648,7 @@ public function testDeleteFromSelfGroupUserNotInGroup(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1694,7 +1694,7 @@ public function testDeleteFromSelfGroupDoesNotExist(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1732,7 +1732,7 @@ public function testDeleteFromSelfUser(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1761,7 +1761,7 @@ public function testDeleteFromSelfUser(): void { $stmt = $qb->select('*') ->from('share') ->where($qb->expr()->eq('id', $qb->createNamedParameter($id))) - ->execute(); + ->executeQuery(); $shares = $stmt->fetchAll(); $stmt->closeCursor(); @@ -1785,7 +1785,7 @@ public function testDeleteFromSelfUserNotRecipient(): void { 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2) - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1828,7 +1828,7 @@ public function testDeleteFromSelfLink(): void { 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2), 'token' => $qb->expr()->literal('token'), - ])->execute(); + ])->executeStatement(); $this->assertEquals(1, $stmt); $id = $qb->getLastInsertId(); @@ -1975,7 +1975,7 @@ public function testUpdateLinkRemovePassword(): void { $qb->update('share'); $qb->where($qb->expr()->eq('id', $qb->createNamedParameter($id))); $qb->set('password', $qb->createNamedParameter('password')); - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); $users = []; for ($i = 0; $i < 6; $i++) { @@ -2186,7 +2186,7 @@ function ($groupId) use ($groups) { ->from('share') ->where($qb->expr()->eq('parent', $qb->createNamedParameter($id))) ->orderBy('id') - ->execute(); + ->executeQuery(); $shares = $stmt->fetchAll(); @@ -2316,7 +2316,7 @@ public function testDeleteUser($type, $owner, $initiator, $recipient, $deletedUs ->setValue('item_type', $qb->createNamedParameter('file')) ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) - ->execute(); + ->executeStatement(); $id = $qb->getLastInsertId(); @@ -2328,7 +2328,7 @@ public function testDeleteUser($type, $owner, $initiator, $recipient, $deletedUs ->where( $qb->expr()->eq('id', $qb->createNamedParameter($id)) ); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $data = $cursor->fetchAll(); $cursor->closeCursor(); @@ -2364,7 +2364,7 @@ public function testDeleteUserGroup($owner, $initiator, $recipient, $deletedUser ->setValue('item_type', $qb->createNamedParameter('file')) ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) - ->execute(); + ->executeStatement(); $groupId = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -2376,7 +2376,7 @@ public function testDeleteUserGroup($owner, $initiator, $recipient, $deletedUser ->setValue('item_type', $qb->createNamedParameter('file')) ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) - ->execute(); + ->executeStatement(); $userGroupId = $qb->getLastInsertId(); $this->provider->userDeleted($deletedUser, IShare::TYPE_GROUP); @@ -2387,7 +2387,7 @@ public function testDeleteUserGroup($owner, $initiator, $recipient, $deletedUser ->where( $qb->expr()->eq('id', $qb->createNamedParameter($userGroupId)) ); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $data = $cursor->fetchAll(); $cursor->closeCursor(); $this->assertCount($userGroupShareDeleted ? 0 : 1, $data); @@ -2398,7 +2398,7 @@ public function testDeleteUserGroup($owner, $initiator, $recipient, $deletedUser ->where( $qb->expr()->eq('id', $qb->createNamedParameter($groupId)) ); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $data = $cursor->fetchAll(); $cursor->closeCursor(); $this->assertCount($groupShareDeleted ? 0 : 1, $data); @@ -2467,7 +2467,7 @@ public function testGroupDeleted($shares, $groupToDelete, $shouldBeDeleted): voi ->setValue('item_type', $qb->createNamedParameter('file')) ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) - ->execute(); + ->executeStatement(); $ids = [$qb->getLastInsertId()]; foreach ($shares['children'] as $child) { @@ -2481,7 +2481,7 @@ public function testGroupDeleted($shares, $groupToDelete, $shouldBeDeleted): voi ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) ->setValue('parent', $qb->createNamedParameter($ids[0])) - ->execute(); + ->executeStatement(); $ids[] = $qb->getLastInsertId(); } @@ -2491,7 +2491,7 @@ public function testGroupDeleted($shares, $groupToDelete, $shouldBeDeleted): voi $cursor = $qb->select('*') ->from('share') ->where($qb->expr()->in('id', $qb->createNamedParameter($ids, IQueryBuilder::PARAM_INT_ARRAY))) - ->execute(); + ->executeQuery(); $data = $cursor->fetchAll(); $cursor->closeCursor(); @@ -2527,7 +2527,7 @@ public function testUserDeletedFromGroup($group, $user, $toDelete): void { ->setValue('item_type', $qb->createNamedParameter('file')) ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)); - $qb->execute(); + $qb->executeStatement(); $id1 = $qb->getLastInsertId(); $qb = $this->dbConn->getQueryBuilder(); @@ -2540,7 +2540,7 @@ public function testUserDeletedFromGroup($group, $user, $toDelete): void { ->setValue('item_source', $qb->createNamedParameter(42)) ->setValue('file_source', $qb->createNamedParameter(42)) ->setValue('parent', $qb->createNamedParameter($id1)); - $qb->execute(); + $qb->executeStatement(); $id2 = $qb->getLastInsertId(); $this->provider->userDeletedFromGroup($user, $group); @@ -2549,7 +2549,7 @@ public function testUserDeletedFromGroup($group, $user, $toDelete): void { $qb->select('*') ->from('share') ->where($qb->expr()->eq('id', $qb->createNamedParameter($id2))); - $cursor = $qb->execute(); + $cursor = $qb->executeQuery(); $data = $cursor->fetchAll(); $cursor->closeCursor(); @@ -2877,7 +2877,7 @@ public function testGetAllShares(): void { 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(13), ]); - $qb->execute(); + $qb->executeStatement(); $id1 = $qb->getLastInsertId(); @@ -2892,7 +2892,7 @@ public function testGetAllShares(): void { 'file_target' => $qb->expr()->literal('myTarget2'), 'permissions' => $qb->expr()->literal(14), ]); - $qb->execute(); + $qb->executeStatement(); $id2 = $qb->getLastInsertId(); @@ -2907,7 +2907,7 @@ public function testGetAllShares(): void { 'file_target' => $qb->expr()->literal('myTarget3'), 'permissions' => $qb->expr()->literal(15), ]); - $qb->execute(); + $qb->executeStatement(); $id3 = $qb->getLastInsertId(); @@ -2923,7 +2923,7 @@ public function testGetAllShares(): void { 'file_target' => $qb->expr()->literal('myTarget4'), 'permissions' => $qb->expr()->literal(16), ]); - $qb->execute(); + $qb->executeStatement(); $id4 = $qb->getLastInsertId(); @@ -2938,7 +2938,7 @@ public function testGetAllShares(): void { 'file_target' => $qb->expr()->literal('myTarget5'), 'permissions' => $qb->expr()->literal(17), ]); - $qb->execute(); + $qb->executeStatement(); $id5 = $qb->getLastInsertId(); @@ -3041,7 +3041,7 @@ public function testGetSharesByPath(): void { 'item_type' => $qb->expr()->literal('file'), 'file_source' => $qb->expr()->literal(1), ]); - $qb->execute(); + $qb->executeStatement(); $id1 = $qb->getLastInsertId(); @@ -3054,7 +3054,7 @@ public function testGetSharesByPath(): void { 'item_type' => $qb->expr()->literal('file'), 'file_source' => $qb->expr()->literal(1), ]); - $qb->execute(); + $qb->executeStatement(); $id2 = $qb->getLastInsertId(); @@ -3067,7 +3067,7 @@ public function testGetSharesByPath(): void { 'item_type' => $qb->expr()->literal('file'), 'file_source' => $qb->expr()->literal(1), ]); - $qb->execute(); + $qb->executeStatement(); $id3 = $qb->getLastInsertId(); diff --git a/tests/lib/Share20/ShareByMailProviderTest.php b/tests/lib/Share20/ShareByMailProviderTest.php index de4dc1a820c69..bbfdec50ea742 100644 --- a/tests/lib/Share20/ShareByMailProviderTest.php +++ b/tests/lib/Share20/ShareByMailProviderTest.php @@ -103,7 +103,7 @@ protected function setUp(): void { $this->config = $this->createMock(IConfig::class); // Empty share table - $this->dbConn->getQueryBuilder()->delete('share')->execute(); + $this->dbConn->getQueryBuilder()->delete('share')->executeStatement(); $this->provider = new ShareByMailProvider( $this->config, @@ -125,9 +125,9 @@ protected function setUp(): void { } protected function tearDown(): void { - $this->dbConn->getQueryBuilder()->delete('share')->execute(); - $this->dbConn->getQueryBuilder()->delete('filecache')->runAcrossAllShards()->execute(); - $this->dbConn->getQueryBuilder()->delete('storages')->execute(); + $this->dbConn->getQueryBuilder()->delete('share')->executeStatement(); + $this->dbConn->getQueryBuilder()->delete('filecache')->runAcrossAllShards()->executeStatement(); + $this->dbConn->getQueryBuilder()->delete('storages')->executeStatement(); } /** @@ -186,7 +186,7 @@ private function addShareToDB($shareType, $sharedWith, $sharedBy, $shareOwner, $qb->setValue('parent', $qb->expr()->literal($parent)); } - $this->assertEquals(1, $qb->execute()); + $this->assertEquals(1, $qb->executeStatement()); return $qb->getLastInsertId(); } diff --git a/tests/lib/SubAdminTest.php b/tests/lib/SubAdminTest.php index 39bb72b445c2c..8e90ff2e1b256 100644 --- a/tests/lib/SubAdminTest.php +++ b/tests/lib/SubAdminTest.php @@ -71,19 +71,19 @@ protected function setUp(): void { 'gid' => $qb->createNamedParameter($this->groups[0]->getGID()), 'uid' => $qb->createNamedParameter('orphanedUser') ]) - ->execute(); + ->executeStatement(); $qb->insert('group_admin') ->values([ 'gid' => $qb->createNamedParameter('orphanedGroup'), 'uid' => $qb->createNamedParameter('orphanedUser') ]) - ->execute(); + ->executeStatement(); $qb->insert('group_admin') ->values([ 'gid' => $qb->createNamedParameter('orphanedGroup'), 'uid' => $qb->createNamedParameter($this->users[0]->getUID()) ]) - ->execute(); + ->executeStatement(); } protected function tearDown(): void { @@ -99,7 +99,7 @@ protected function tearDown(): void { $qb->delete('group_admin') ->where($qb->expr()->eq('uid', $qb->createNamedParameter('orphanedUser'))) ->orWhere($qb->expr()->eq('gid', $qb->createNamedParameter('orphanedGroup'))) - ->execute(); + ->executeStatement(); } public function testCreateSubAdmin(): void { @@ -112,7 +112,7 @@ public function testCreateSubAdmin(): void { ->from('group_admin') ->where($qb->expr()->eq('gid', $qb->createNamedParameter($this->groups[0]->getGID()))) ->andWHere($qb->expr()->eq('uid', $qb->createNamedParameter($this->users[0]->getUID()))) - ->execute() + ->executeQuery() ->fetch(); $this->assertEquals( [ @@ -121,10 +121,10 @@ public function testCreateSubAdmin(): void { ], $result); // Delete subadmin - $result = $qb->delete('*PREFIX*group_admin') + $qb->delete('group_admin') ->where($qb->expr()->eq('gid', $qb->createNamedParameter($this->groups[0]->getGID()))) ->andWHere($qb->expr()->eq('uid', $qb->createNamedParameter($this->users[0]->getUID()))) - ->execute(); + ->executeStatement(); } public function testDeleteSubAdmin(): void { @@ -138,7 +138,7 @@ public function testDeleteSubAdmin(): void { ->from('group_admin') ->where($qb->expr()->eq('gid', $qb->createNamedParameter($this->groups[0]->getGID()))) ->andWHere($qb->expr()->eq('uid', $qb->createNamedParameter($this->users[0]->getUID()))) - ->execute() + ->executeQuery() ->fetch(); $this->assertEmpty($result); } diff --git a/tests/lib/SystemTag/SystemTagManagerTest.php b/tests/lib/SystemTag/SystemTagManagerTest.php index b443d7222b220..4d2741ba6c5bf 100644 --- a/tests/lib/SystemTag/SystemTagManagerTest.php +++ b/tests/lib/SystemTag/SystemTagManagerTest.php @@ -65,8 +65,8 @@ protected function tearDown(): void { protected function pruneTagsTables() { $query = $this->connection->getQueryBuilder(); - $query->delete(SystemTagObjectMapper::RELATION_TABLE)->execute(); - $query->delete(SystemTagManager::TAG_TABLE)->execute(); + $query->delete(SystemTagObjectMapper::RELATION_TABLE)->executeStatement(); + $query->delete(SystemTagManager::TAG_TABLE)->executeStatement(); } public static function getAllTagsDataProvider(): array { diff --git a/tests/lib/SystemTag/SystemTagObjectMapperTest.php b/tests/lib/SystemTag/SystemTagObjectMapperTest.php index a43bda3b65943..45de74d538fc3 100644 --- a/tests/lib/SystemTag/SystemTagObjectMapperTest.php +++ b/tests/lib/SystemTag/SystemTagObjectMapperTest.php @@ -110,8 +110,8 @@ protected function tearDown(): void { protected function pruneTagsTables() { $query = $this->connection->getQueryBuilder(); - $query->delete(SystemTagObjectMapper::RELATION_TABLE)->execute(); - $query->delete(SystemTagManager::TAG_TABLE)->execute(); + $query->delete(SystemTagObjectMapper::RELATION_TABLE)->executeStatement(); + $query->delete(SystemTagManager::TAG_TABLE)->executeStatement(); } public function testGetTagIdsForObjects(): void { diff --git a/tests/lib/TestCase.php b/tests/lib/TestCase.php index cdeefde748c49..76e3800fdfced 100644 --- a/tests/lib/TestCase.php +++ b/tests/lib/TestCase.php @@ -363,7 +363,7 @@ public static function tearDownAfterClass(): void { */ protected static function tearDownAfterClassCleanShares(IQueryBuilder $queryBuilder) { $queryBuilder->delete('share') - ->execute(); + ->executeStatement(); } /** @@ -373,7 +373,7 @@ protected static function tearDownAfterClassCleanShares(IQueryBuilder $queryBuil */ protected static function tearDownAfterClassCleanStorages(IQueryBuilder $queryBuilder) { $queryBuilder->delete('storages') - ->execute(); + ->executeStatement(); } /** @@ -384,7 +384,7 @@ protected static function tearDownAfterClassCleanStorages(IQueryBuilder $queryBu protected static function tearDownAfterClassCleanFileCache(IQueryBuilder $queryBuilder) { $queryBuilder->delete('filecache') ->runAcrossAllShards() - ->execute(); + ->executeStatement(); } /**