Skip to content

Commit

Permalink
chore(db): redirect write queries to master in clustered setups
Browse files Browse the repository at this point in the history
fix: psalm baseline

fix: remove is_int

fix: return bool

fix: lint

fix: cache
  • Loading branch information
solracsf committed Oct 15, 2024
1 parent 832695d commit 5b7ddf4
Show file tree
Hide file tree
Showing 12 changed files with 113 additions and 142 deletions.
28 changes: 14 additions & 14 deletions apps/dav/lib/CardDAV/CardDavBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public function getUsersOwnAddressBooks($principalUri) {

$addressBooks = [];

$result = $query->execute();
$result = $query->executeQuery();
while ($row = $result->fetch()) {
$addressBooks[$row['id']] = [
'id' => $row['id'],
Expand Down Expand Up @@ -395,7 +395,7 @@ public function createAddressBook($principalUri, $url, array $properties) {
'synctoken' => $query->createParameter('synctoken'),
])
->setParameters($values)
->execute();
->executeStatement();

$addressBookId = $query->getLastInsertId();
return [
Expand Down Expand Up @@ -479,7 +479,7 @@ public function getCards($addressbookId) {

$cards = [];

$result = $query->execute();
$result = $query->executeQuery();
while ($row = $result->fetch()) {
$row['etag'] = '"' . $row['etag'] . '"';

Expand Down Expand Up @@ -516,7 +516,7 @@ public function getCard($addressBookId, $cardUri) {
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
->setMaxResults(1);

$result = $query->execute();
$result = $query->executeQuery();
$row = $result->fetch();
if (!$row) {
return false;
Expand Down Expand Up @@ -560,7 +560,7 @@ public function getMultipleCards($addressBookId, array $uris) {

foreach ($chunks as $uris) {
$query->setParameter('uri', $uris, IQueryBuilder::PARAM_STR_ARRAY);
$result = $query->execute();
$result = $query->executeQuery();

while ($row = $result->fetch()) {
$row['etag'] = '"' . $row['etag'] . '"';
Expand Down Expand Up @@ -634,7 +634,7 @@ public function createCard($addressBookId, $cardUri, $cardData, bool $checkAlrea
'etag' => $query->createNamedParameter($etag),
'uid' => $query->createNamedParameter($uid),
])
->execute();
->executeStatement();

$etagCacheKey = "$addressBookId#$cardUri";
$this->etagCache[$etagCacheKey] = $etag;
Expand Down Expand Up @@ -697,7 +697,7 @@ public function updateCard($addressBookId, $cardUri, $cardData) {
->set('uid', $query->createNamedParameter($uid))
->where($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
->execute();
->executeStatement();

$this->etagCache[$etagCacheKey] = $etag;

Expand Down Expand Up @@ -1165,7 +1165,7 @@ private function searchByAddressBookIds(array $addressBookIds,
*/
}

$result = $query2->execute();
$result = $query2->executeQuery();
$matches = $result->fetchAll();
$result->closeCursor();
$matches = array_map(function ($match) {
Expand Down Expand Up @@ -1207,7 +1207,7 @@ public function collectCardProperties($bookId, $name) {
->from($this->dbCardsPropertiesTable)
->where($query->expr()->eq('name', $query->createNamedParameter($name)))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($bookId)))
->execute();
->executeQuery();

$all = $result->fetchAll(PDO::FETCH_COLUMN);
$result->closeCursor();
Expand All @@ -1227,7 +1227,7 @@ public function getCardUri($id) {
->where($query->expr()->eq('id', $query->createParameter('id')))
->setParameter('id', $id);

$result = $query->execute();
$result = $query->executeQuery();
$uri = $result->fetch();
$result->closeCursor();

Expand All @@ -1251,7 +1251,7 @@ public function getContact($addressBookId, $uri) {
$query->select('*')->from($this->dbCardsTable)
->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
$queryResult = $query->execute();
$queryResult = $query->executeQuery();
$contact = $queryResult->fetch();
$queryResult->closeCursor();

Expand Down Expand Up @@ -1324,7 +1324,7 @@ protected function updateProperties($addressBookId, $cardUri, $vCardSerialized)
$query->setParameter('name', $property->name);
$query->setParameter('value', mb_strcut($property->getValue(), 0, 254));
$query->setParameter('preferred', $preferred);
$query->execute();
$query->executeStatement();
}
}, $this->db);
}
Expand All @@ -1350,7 +1350,7 @@ protected function purgeProperties($addressBookId, $cardId) {
$query->delete($this->dbCardsPropertiesTable)
->where($query->expr()->eq('cardid', $query->createNamedParameter($cardId)))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
$query->execute();
$query->executeStatement();
}

/**
Expand All @@ -1362,7 +1362,7 @@ protected function getCardId(int $addressBookId, string $uri): int {
->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));

$result = $query->execute();
$result = $query->executeQuery();
$cardIds = $result->fetch();
$result->closeCursor();

Expand Down
4 changes: 2 additions & 2 deletions apps/files/lib/Command/RepairTree.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public function execute(InputInterface $input, OutputInterface $output): int {
'path' => $row['parent_path'] . '/' . $row['name'],
'storage' => $row['parent_storage'],
]);
$query->execute();
$query->executeStatement();
}
}
}
Expand All @@ -85,7 +85,7 @@ private function deleteById(int $fileId): void {
$query = $this->connection->getQueryBuilder();
$query->delete('filecache')
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId)));
$query->execute();
$query->executeStatement();
}

private function findBrokenTreeBits(): array {
Expand Down
32 changes: 16 additions & 16 deletions apps/files_external/lib/Service/DBConfigService.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ protected function modifyMountsOnDelete(string $applicableId, int $applicableTyp
)
)
->groupBy(['a.mount_id']);
$stmt = $query->execute();
$stmt = $query->executeQuery();
$result = $stmt->fetchAll();
$stmt->closeCursor();

Expand Down Expand Up @@ -243,7 +243,7 @@ public function addMount($mountPoint, $storageBackend, $authBackend, $priority,
'priority' => $builder->createNamedParameter($priority, IQueryBuilder::PARAM_INT),
'type' => $builder->createNamedParameter($type, IQueryBuilder::PARAM_INT)
]);
$query->execute();
$query->executeStatement();
return $query->getLastInsertId();
}

Expand All @@ -256,22 +256,22 @@ public function removeMount($mountId) {
$builder = $this->connection->getQueryBuilder();
$query = $builder->delete('external_mounts')
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));
$query->execute();
$query->executeStatement();

$builder = $this->connection->getQueryBuilder();
$query = $builder->delete('external_applicable')
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));
$query->execute();
$query->executeStatement();

$builder = $this->connection->getQueryBuilder();
$query = $builder->delete('external_config')
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));
$query->execute();
$query->executeStatement();

$builder = $this->connection->getQueryBuilder();
$query = $builder->delete('external_options')
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));
$query->execute();
$query->executeStatement();
}

/**
Expand All @@ -285,7 +285,7 @@ public function setMountPoint($mountId, $newMountPoint) {
->set('mount_point', $builder->createNamedParameter($newMountPoint))
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));

$query->execute();
$query->executeStatement();
}

/**
Expand All @@ -299,7 +299,7 @@ public function setAuthBackend($mountId, $newAuthBackend) {
->set('auth_backend', $builder->createNamedParameter($newAuthBackend))
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)));

$query->execute();
$query->executeStatement();
}

/**
Expand All @@ -318,14 +318,14 @@ public function setConfig($mountId, $key, $value) {
->setValue('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT))
->setValue('key', $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR))
->setValue('value', $builder->createNamedParameter($value, IQueryBuilder::PARAM_STR))
->execute();
->executeStatement();
} catch (UniqueConstraintViolationException $e) {
$builder = $this->connection->getQueryBuilder();
$query = $builder->update('external_config')
->set('value', $builder->createNamedParameter($value, IQueryBuilder::PARAM_STR))
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)))
->andWhere($builder->expr()->eq('key', $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR)));
$query->execute();
$query->executeStatement();
}
}

Expand All @@ -341,14 +341,14 @@ public function setOption($mountId, $key, $value) {
->setValue('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT))
->setValue('key', $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR))
->setValue('value', $builder->createNamedParameter(json_encode($value), IQueryBuilder::PARAM_STR))
->execute();
->executeStatement();
} catch (UniqueConstraintViolationException $e) {
$builder = $this->connection->getQueryBuilder();
$query = $builder->update('external_options')
->set('value', $builder->createNamedParameter(json_encode($value), IQueryBuilder::PARAM_STR))
->where($builder->expr()->eq('mount_id', $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)))
->andWhere($builder->expr()->eq('key', $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR)));
$query->execute();
$query->executeStatement();
}
}

Expand All @@ -359,7 +359,7 @@ public function addApplicable($mountId, $type, $value) {
->setValue('mount_id', $builder->createNamedParameter($mountId))
->setValue('type', $builder->createNamedParameter($type))
->setValue('value', $builder->createNamedParameter($value))
->execute();
->executeStatement();
} catch (UniqueConstraintViolationException $e) {
// applicable exists already
}
Expand All @@ -377,11 +377,11 @@ public function removeApplicable($mountId, $type, $value) {
$query = $query->andWhere($builder->expr()->eq('value', $builder->createNamedParameter($value, IQueryBuilder::PARAM_STR)));
}

$query->execute();
$query->executeStatement();
}

private function getMountsFromQuery(IQueryBuilder $query) {
$result = $query->execute();
$result = $query->executeQuery();
$mounts = $result->fetchAll();
$uniqueMounts = [];
foreach ($mounts as $mount) {
Expand Down Expand Up @@ -432,7 +432,7 @@ private function selectForMounts($table, array $fields, array $mountIds) {
->from($table)
->where($builder->expr()->in('mount_id', $placeHolders));

$result = $query->execute();
$result = $query->executeQuery();
$rows = $result->fetchAll();
$result->closeCursor();

Expand Down
19 changes: 6 additions & 13 deletions apps/files_sharing/lib/Migration/SetAcceptedStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,10 @@

class SetAcceptedStatus implements IRepairStep {

/** @var IDBConnection */
private $connection;

/** @var IConfig */
private $config;


public function __construct(IDBConnection $connection, IConfig $config) {
$this->connection = $connection;
$this->config = $config;
public function __construct(
private IDBConnection $connection,
private IConfig $config,
) {
}

/**
Expand All @@ -48,11 +42,10 @@ public function run(IOutput $output): void {
}

$query = $this->connection->getQueryBuilder();
$query
->update('share')
$query->update('share')
->set('accepted', $query->createNamedParameter(IShare::STATUS_ACCEPTED))
->where($query->expr()->in('share_type', $query->createNamedParameter([IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_USERGROUP], IQueryBuilder::PARAM_INT_ARRAY)));
$query->execute();
$query->executeStatement();
}

protected function shouldRun() {
Expand Down
8 changes: 0 additions & 8 deletions build/psalm-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2167,14 +2167,6 @@
<code><![CDATA[$mimetype]]></code>
</ParamNameMismatch>
</file>
<file src="lib/private/Files/Type/Loader.php">
<InvalidReturnStatement>
<code><![CDATA[$update->execute()]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[int]]></code>
</InvalidReturnType>
</file>
<file src="lib/private/Files/Utils/Scanner.php">
<LessSpecificReturnStatement>
<code><![CDATA[$mounts]]></code>
Expand Down
17 changes: 8 additions & 9 deletions lib/private/Comments/Manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@ public function get($id): IComment {
throw new NotFoundException();
}


$comment = $this->getCommentFromData($data);
$this->cache($comment);
return $comment;
Expand Down Expand Up @@ -1278,11 +1277,11 @@ public function deleteReferencesOfActor($actorType, $actorId) {
->andWhere($qb->expr()->eq('actor_id', $qb->createParameter('id')))
->setParameter('type', $actorType)
->setParameter('id', $actorId)
->execute();
->executeStatement();

$this->commentsCache = [];

return is_int($affectedRows);
return ($affectedRows > 0);
}

/**
Expand All @@ -1303,11 +1302,11 @@ public function deleteCommentsAtObject($objectType, $objectId) {
->andWhere($qb->expr()->eq('object_id', $qb->createParameter('id')))
->setParameter('type', $objectType)
->setParameter('id', $objectId)
->execute();
->executeStatement();

$this->commentsCache = [];

return is_int($affectedRows);
return ($affectedRows > 0);
}

/**
Expand All @@ -1324,7 +1323,7 @@ public function deleteReadMarksFromUser(IUser $user) {
->setParameter('user_id', $user->getUID());

try {
$affectedRows = $query->execute();
$affectedRows = $query->executeStatement();
} catch (DriverException $e) {
$this->logger->error($e->getMessage(), [
'exception' => $e,
Expand Down Expand Up @@ -1369,15 +1368,15 @@ 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;
}

$qb->insert('comments_read_markers')
->values($values)
->execute();
->executeStatement();
}

/**
Expand Down Expand Up @@ -1431,7 +1430,7 @@ public function deleteReadMarksOnObject($objectType, $objectId) {
->setParameter('object_id', $objectId);

try {
$affectedRows = $query->execute();
$affectedRows = $query->executeStatement();
} catch (DriverException $e) {
$this->logger->error($e->getMessage(), [
'exception' => $e,
Expand Down
Loading

0 comments on commit 5b7ddf4

Please sign in to comment.