fix probably broken sql query on sqlite and postgres for deleting items after a folder was deleted

This commit is contained in:
Bernhard Posselt 2014-04-06 22:16:39 +02:00
Родитель d70f905f91
Коммит 3904320f95
2 изменённых файлов: 4 добавлений и 6 удалений

Просмотреть файл

@ -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);
}

Просмотреть файл

@ -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);