diff options
Diffstat (limited to 'app/Models/EntryDAOSQLite.php')
| -rw-r--r-- | app/Models/EntryDAOSQLite.php | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/app/Models/EntryDAOSQLite.php b/app/Models/EntryDAOSQLite.php index c272272b0..4ae4d3579 100644 --- a/app/Models/EntryDAOSQLite.php +++ b/app/Models/EntryDAOSQLite.php @@ -81,20 +81,20 @@ class FreshRSS_EntryDAOSQLite extends FreshRSS_EntryDAO { #[\Override] public function commitNewEntries(): bool { $sql = <<<'SQL' -DROP TABLE IF EXISTS `tmp`; -CREATE TEMP TABLE `tmp` AS - SELECT id, guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes - FROM `_entrytmp` - ORDER BY date, id; -INSERT OR IGNORE INTO `_entry` - (id, guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes) - SELECT rowid + (SELECT MAX(id) - COUNT(*) FROM `tmp`) AS id, - guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes - FROM `tmp` - ORDER BY date, id; -DELETE FROM `_entrytmp` WHERE id <= (SELECT MAX(id) FROM `tmp`); -DROP TABLE IF EXISTS `tmp`; -SQL; + DROP TABLE IF EXISTS `tmp`; + CREATE TEMP TABLE `tmp` AS + SELECT id, guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes + FROM `_entrytmp` + ORDER BY date, id; + INSERT OR IGNORE INTO `_entry` + (id, guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes) + SELECT rowid + (SELECT MAX(id) - COUNT(*) FROM `tmp`) AS id, + guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags, attributes + FROM `tmp` t + ORDER BY t.date, t.id; + DELETE FROM `_entrytmp` WHERE id <= (SELECT MAX(id) FROM `tmp`); + DROP TABLE IF EXISTS `tmp`; + SQL; $hadTransaction = $this->pdo->inTransaction(); if (!$hadTransaction) { $this->pdo->beginTransaction(); |
