summaryrefslogtreecommitdiff
path: root/classes/ccache.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2017-12-02 09:55:53 +0300
committerAndrew Dolgov <[email protected]>2017-12-02 09:56:34 +0300
commit0567016b4098890b7da451962d1c7a19384ca1bb (patch)
treede780259dbc1b5b19d7e1db25ad5889b46873736 /classes/ccache.php
parentafcb105f4e50f0cbc1a919f75e8fda8ab66e6788 (diff)
rssutils: PDO
Diffstat (limited to 'classes/ccache.php')
-rw-r--r--classes/ccache.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/classes/ccache.php b/classes/ccache.php
index 9a6f14f3d..88e28e9e8 100644
--- a/classes/ccache.php
+++ b/classes/ccache.php
@@ -142,7 +142,13 @@ class CCache {
$unread = (int) Feeds::getFeedArticles($feed_id, $is_cat, true, $owner_uid);
}
- $pdo->beginTransaction();
+ $tr_in_progress = false;
+
+ try {
+ $pdo->beginTransaction();
+ } catch (Exception $e) {
+ $tr_in_progress = true;
+ }
$sth = $pdo->prepare("SELECT feed_id FROM $table
WHERE owner_uid = ? AND feed_id = ? LIMIT 1");
@@ -164,7 +170,7 @@ class CCache {
$sth->execute([$feed_id, $unread, $owner_uid]);
}
- $pdo->commit();
+ if (!$tr_in_progress) $pdo->commit();
if ($feed_id > 0 && $prev_unread != $unread) {