summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-06-24 11:26:10 +0200
committerJoas Schilling <coding@schilljs.com>2021-06-24 11:26:10 +0200
commit9307412dc83d7bb31a65b9b5809b3f7573a99372 (patch)
treebbfa9845b2f4a0dda511223291cea855e137e567
parent56790b4b184be1e4764bdd0da06e8d8798f26447 (diff)
Adjust more database calls to the new methods
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r--lib/MatterbridgeManager.php35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/MatterbridgeManager.php b/lib/MatterbridgeManager.php
index 4afd4eda6..5ce231a49 100644
--- a/lib/MatterbridgeManager.php
+++ b/lib/MatterbridgeManager.php
@@ -26,6 +26,7 @@ namespace OCA\Talk;
use OCA\Talk\Exceptions\RoomNotFoundException;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Service\ParticipantService;
+use OCP\DB\Exception;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\DB\QueryBuilder\IQueryBuilder;
@@ -204,7 +205,7 @@ class MatterbridgeManager {
->from('talk_bridges')
->where($query->expr()->eq('enabled', $query->createNamedParameter(1, IQueryBuilder::PARAM_INT)));
- $result = $query->execute();
+ $result = $query->executeQuery();
while ($row = $result->fetch()) {
$bridge = [
'enabled' => (bool) $row['enabled'],
@@ -761,7 +762,7 @@ class MatterbridgeManager {
->where($query->expr()->eq('enabled', $query->createNamedParameter(1, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->gt('pid', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
- $result = $query->execute();
+ $result = $query->executeQuery();
while ($row = $result->fetch()) {
$expectedPidList[] = (int) $row['pid'];
}
@@ -874,7 +875,7 @@ class MatterbridgeManager {
$qb->expr()->eq('room_id', $qb->createNamedParameter($roomId, IQueryBuilder::PARAM_INT))
)
->setMaxResults(1);
- $result = $qb->execute();
+ $result = $qb->executeQuery();
$enabled = false;
$pid = 0;
$jsonValues = '[]';
@@ -911,17 +912,23 @@ class MatterbridgeManager {
'enabled' => $qb->createNamedParameter($intEnabled, IQueryBuilder::PARAM_INT),
'pid' => $qb->createNamedParameter($bridge['pid'], IQueryBuilder::PARAM_INT),
]);
- $qb->execute();
- } catch (UniqueConstraintViolationException $e) {
- $qb = $this->db->getQueryBuilder();
- $qb->update('talk_bridges');
- $qb->set('json_values', $qb->createNamedParameter($jsonValues, IQueryBuilder::PARAM_STR));
- $qb->set('enabled', $qb->createNamedParameter($intEnabled, IQueryBuilder::PARAM_INT));
- $qb->set('pid', $qb->createNamedParameter($bridge['pid'], IQueryBuilder::PARAM_INT));
- $qb->where(
- $qb->expr()->eq('room_id', $qb->createNamedParameter($roomId, IQueryBuilder::PARAM_INT))
- );
- $qb->execute();
+ $qb->executeStatement();
+ } catch (Exception $e) {
+ if ($e->getReason() === Exception::REASON_UNIQUE_CONSTRAINT_VIOLATION) {
+ $qb = $this->db->getQueryBuilder();
+ $qb->update('talk_bridges');
+ $qb->set('json_values', $qb->createNamedParameter($jsonValues, IQueryBuilder::PARAM_STR));
+ $qb->set('enabled', $qb->createNamedParameter($intEnabled, IQueryBuilder::PARAM_INT));
+ $qb->set('pid', $qb->createNamedParameter($bridge['pid'], IQueryBuilder::PARAM_INT));
+ $qb->where(
+ $qb->expr()->eq('room_id', $qb->createNamedParameter($roomId, IQueryBuilder::PARAM_INT))
+ );
+ $qb->executeStatement();
+ } else {
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
+ ]);
+ }
}
}