summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-09-17 03:27:07 -0700
committerAndrew Dolgov <[email protected]>2013-09-17 03:27:07 -0700
commit80c448cb98ba1234e5a2c2f7ef240f9d6cef645a (patch)
tree774518376a34b1b310d28158a76784deb42e8af1
parent1357a263be61196ad7d02cbf19a6cf08d1e50a80 (diff)
parent4d8f4c59894b27204ebe2042d0d3c0de477af4cf (diff)
Merge pull request #299 from rangerer/label_counters
optimized query for label counters
-rw-r--r--include/functions.php7
1 files changed, 2 insertions, 5 deletions
diff --git a/include/functions.php b/include/functions.php
index 2f16ea58e..55896b66a 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1557,13 +1557,10 @@
$owner_uid = $_SESSION["uid"];
- $result = db_query("SELECT id,caption,COUNT(u1.unread) AS unread,COUNT(u2.unread) AS total
+ $result = db_query("SELECT id,caption,SUM(CASE WHEN u1.unread = true THEN 1 ELSE 0 END) AS unread, COUNT(u1.unread) AS total
FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON
(ttrss_labels2.id = label_id)
- LEFT JOIN ttrss_user_entries AS u1 ON (u1.ref_id = article_id AND u1.unread = true
- AND u1.owner_uid = $owner_uid)
- LEFT JOIN ttrss_user_entries AS u2 ON (u2.ref_id = article_id AND u2.unread = false
- AND u2.owner_uid = $owner_uid)
+ LEFT JOIN ttrss_user_entries AS u1 ON u1.ref_id = article_id
WHERE ttrss_labels2.owner_uid = $owner_uid GROUP BY ttrss_labels2.id,
ttrss_labels2.caption");