summaryrefslogtreecommitdiffstats
path: root/db/feedmapper.php
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-04 13:13:25 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-04 13:13:25 +0200
commit3ec631a5c799e35ff5dbe519a3151ad62ad186b8 (patch)
tree5c06a5575407ade0e0e4c319b2cd5586b7dae221 /db/feedmapper.php
parent4b994c97ad878cc3886ffbea1a6a2bf6b4a98def (diff)
autopurge all read items which are not starred if there are more than 1000
Diffstat (limited to 'db/feedmapper.php')
-rw-r--r--db/feedmapper.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/db/feedmapper.php b/db/feedmapper.php
index ba47d0a8a..108494613 100644
--- a/db/feedmapper.php
+++ b/db/feedmapper.php
@@ -135,8 +135,10 @@ class FeedMapper extends Mapper implements IMapper {
public function deleteReadOlderThanId($id){
- $sql = 'DELETE FROM `*PREFIX*news_items` WHERE `id` < ?';
- $params = array($id);
+ $status = StatusFlag::STARRED | StatusFlag::UNREAD;
+ $sql = 'DELETE FROM `*PREFIX*news_items` WHERE `id` < ? ' .
+ 'AND NOT ((`status` & ?) > 0)';
+ $params = array($id, $status);
$this->execute($sql, $params);
}