summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-09-13 21:34:54 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-09-13 21:34:54 +0200
commit6df3b51c550ba9d1d15924ed17c9d362ac908cf1 (patch)
tree477625cca14e7477d975ee6f81332dcde2008750 /db
parent9b1796fd37f3cf3fb6a8872262ce7c77c12cd389 (diff)
fix sql
Diffstat (limited to 'db')
-rw-r--r--db/itemmapper.php4
-rw-r--r--db/postgres/itemmapper.php11
2 files changed, 9 insertions, 6 deletions
diff --git a/db/itemmapper.php b/db/itemmapper.php
index 891cb624d..1ec283826 100644
--- a/db/itemmapper.php
+++ b/db/itemmapper.php
@@ -259,12 +259,12 @@ class ItemMapper extends Mapper implements IMapper {
public function deleteReadOlderThanThreshold($threshold){
$status = StatusFlag::STARRED | StatusFlag::UNREAD;
$sql = 'SELECT COUNT(*) - `feeds`.`articles_per_update` AS `size`, ' .
- '`items`.`feed_id` AS `feed_id`, ' .
+ '`items`.`feed_id` AS `feed_id` ' .
'FROM `*PREFIX*news_items` `items` ' .
'JOIN `*PREFIX*news_feeds` `feeds` ' .
'ON `feeds`.`id` = `items`.`feed_id` ' .
'WHERE NOT ((`items`.`status` & ?) > 0) ' .
- 'GROUP BY `items`.`feed_id` ' .
+ 'GROUP BY `items`.`feed_id`, `feeds`.`articles_per_update` ' .
'HAVING COUNT(*) > ?';
$params = array($status, $threshold);
$result = $this->execute($sql, $params);
diff --git a/db/postgres/itemmapper.php b/db/postgres/itemmapper.php
index ddf83ae10..0ccc9eeb4 100644
--- a/db/postgres/itemmapper.php
+++ b/db/postgres/itemmapper.php
@@ -45,10 +45,13 @@ class ItemMapper extends \OCA\News\Db\ItemMapper {
*/
public function deleteReadOlderThanThreshold($threshold){
$status = StatusFlag::STARRED | StatusFlag::UNREAD;
- $sql = 'SELECT COUNT(*) `size`, `feed_id` ' .
- 'FROM `*PREFIX*news_items` ' .
- 'WHERE NOT ((`status` & ?) > 0) ' .
- 'GROUP BY `feed_id` ' .
+ $sql = 'SELECT COUNT(*) - `feeds`.`articles_per_update` AS `size`, ' .
+ '`items`.`feed_id` AS `feed_id` ' .
+ 'FROM `*PREFIX*news_items` `items` ' .
+ 'JOIN `*PREFIX*news_feeds` `feeds` ' .
+ 'ON `feeds`.`id` = `items`.`feed_id` ' .
+ 'WHERE NOT ((`items`.`status` & ?) > 0) ' .
+ 'GROUP BY `items`.`feed_id`, `feeds`.`articles_per_update` ' .
'HAVING COUNT(*) > ?';
$params = array($status, $threshold);
$result = $this->execute($sql, $params);