summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db/foldermapper.php5
-rw-r--r--tests/unit/db/FolderMapperTest.php5
2 files changed, 4 insertions, 6 deletions
diff --git a/db/foldermapper.php b/db/foldermapper.php
index 5245a1b12..8859268e0 100644
--- a/db/foldermapper.php
+++ b/db/foldermapper.php
@@ -74,9 +74,8 @@ class FolderMapper extends Mapper implements IMapper {
$params = array($entity->getId());
$this->execute($sql, $params);
- $sql = 'DELETE FROM `*PREFIX*news_items` `items` '.
- 'LEFT JOIN `*PREFIX*news_feeds` `feeds` ON '.
- '`items`.`feed_id` = `feeds`.`id` WHERE `feeds`.`id` IS NULL';
+ $sql = 'DELETE FROM `*PREFIX*news_items` WHERE `feed_id` NOT IN '.
+ '(SELECT `feeds`.`id` FROM `*PREFIX*news_feeds` `feeds`)';
$this->execute($sql);
}
diff --git a/tests/unit/db/FolderMapperTest.php b/tests/unit/db/FolderMapperTest.php
index 0ca53ad81..6579e05a6 100644
--- a/tests/unit/db/FolderMapperTest.php
+++ b/tests/unit/db/FolderMapperTest.php
@@ -146,9 +146,8 @@ class FolderMapperTest extends \OCA\AppFramework\Utility\MapperTestUtility {
$sql2 = 'DELETE FROM `*PREFIX*news_feeds` WHERE `folder_id` = ?';
- $sql3 = 'DELETE FROM `*PREFIX*news_items` `items` '.
- 'LEFT JOIN `*PREFIX*news_feeds` `feeds` ON '.
- '`items`.`feed_id` = `feeds`.`id` WHERE `feeds`.`id` IS NULL';
+ $sql3 = 'DELETE FROM `*PREFIX*news_items` WHERE `feed_id` NOT IN '.
+ '(SELECT `feeds`.`id` FROM `*PREFIX*news_feeds` `feeds`)';
$arguments2 = array($folder->getId());
$this->setMapperResult($sql, $arguments);