diff options
-rw-r--r-- | db/foldermapper.php | 5 | ||||
-rw-r--r-- | tests/unit/db/FolderMapperTest.php | 5 |
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); |