diff options
| author | 2013-11-26 23:52:53 +0100 | |
|---|---|---|
| committer | 2013-11-26 23:53:22 +0100 | |
| commit | 6130ba6157fc214579a0466ec122a8f085224415 (patch) | |
| tree | b095eedbf8b6c891c803b9487ce3e36552e73dd7 /app/controllers/feedController.php | |
| parent | b703099c1947d26764a8e936ecb9ea58e15fbd63 (diff) | |
SQL : utilisation de (id_feed, guid) pour l'unicité
Préparation avant
https://github.com/marienfressinaud/FreshRSS/issues/202
Diffstat (limited to 'app/controllers/feedController.php')
| -rwxr-xr-x | app/controllers/feedController.php | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php index 9ce38a03f..174cd9519 100755 --- a/app/controllers/feedController.php +++ b/app/controllers/feedController.php @@ -174,17 +174,14 @@ class feedController extends ActionController { $feed->load (); $entries = $feed->entries (); - //For this feed, check last n entry IDs already in database - $existingIds = array_fill_keys ($entryDAO->listLastIdsByFeed ($feed->id (), count($entries) + 10), 1); - - // ajout des articles en masse sans se soucier des erreurs - // On ne vérifie pas que l'article n'est pas déjà en BDD - // car demanderait plus de ressources - // La BDD refusera l'ajout de son côté car l'id doit être - // unique + //For this feed, check last n entry GUIDs already in database + $existingGuids = array_fill_keys ($entryDAO->listLastGuidsByFeed ($feed->id (), count($entries) + 10), 1); + + // On ne vérifie strictement que l'article n'est pas déjà en BDD + // La BDD refusera l'ajout car (id_feed, guid) doit être unique $feedDAO->beginTransaction (); foreach ($entries as $entry) { - if ((!isset ($existingIds[$entry->id ()])) && + if ((!isset ($existingGuids[$entry->guid ()])) && ($entry->date (true) >= $date_min || $feed->keepHistory ())) { $values = $entry->toArray (); |
