Browse Source

Merge pull request #1830 from Alkarex/sqlite-debug

SQLite more error logs
Alexandre Alapetite 8 years ago
parent
commit
880715bc6e
2 changed files with 18 additions and 54 deletions
  1. 17 53
      app/Models/EntryDAOSQLite.php
  2. 1 1
      app/Models/FeedDAO.php

+ 17 - 53
app/Models/EntryDAOSQLite.php

@@ -7,7 +7,6 @@ class FreshRSS_EntryDAOSQLite extends FreshRSS_EntryDAO {
 	}
 
 	protected function autoUpdateDb($errorInfo) {
-		Minz_Log::error('FreshRSS_EntryDAO::autoUpdateDb error: ' . print_r($errorInfo, true));
 		if ($tableInfo = $this->bd->query("SELECT sql FROM sqlite_master where name='entrytmp'")) {
 			$showCreate = $tableInfo->fetchColumn();
 			if (stripos($showCreate, 'entrytmp') === false) {
@@ -27,63 +26,28 @@ class FreshRSS_EntryDAOSQLite extends FreshRSS_EntryDAO {
 
 	public function commitNewEntries() {
 		$sql = '
-			CREATE TEMP TABLE `tmp` AS
-				SELECT
-					id,
-					guid,
-					title,
-					author,
-					content,
-					link,
-					date,
-					`lastSeen`,
-					hash, is_read,
-					is_favorite,
-					id_feed,
-					tags
-				FROM `' . $this->prefix . 'entrytmp`
-				ORDER BY date;
-				INSERT OR IGNORE INTO `' . $this->prefix . 'entry`
-					(
-						id,
-						guid,
-						title,
-						author,
-						content,
-						link,
-						date,
-						`lastSeen`,
-						hash,
-						is_read,
-						is_favorite,
-						id_feed,
-						tags
-					)
-				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
-				FROM `tmp`
-				ORDER BY date;
-			DELETE FROM `' . $this->prefix . 'entrytmp`
-			WHERE id <= (SELECT MAX(id)
-			FROM `tmp`);
-			DROP TABLE `tmp`;';
+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
+	FROM `' . $this->prefix . 'entrytmp`
+	ORDER BY date;
+INSERT OR IGNORE INTO `' . $this->prefix . 'entry`
+	(id, guid, title, author, content, link, date, `lastSeen`, hash, is_read, is_favorite, id_feed, tags)
+	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
+	FROM `tmp`
+	ORDER BY date;
+DELETE FROM `' . $this->prefix . 'entrytmp` WHERE id <= (SELECT MAX(id) FROM `tmp`);
+DROP TABLE IF EXISTS `tmp`;
+';
 		$hadTransaction = $this->bd->inTransaction();
 		if (!$hadTransaction) {
 			$this->bd->beginTransaction();
 		}
 		$result = $this->bd->exec($sql) !== false;
+		if (!$result) {
+			Minz_Log::error('SQL error commitNewEntries: ' . json_encode($this->bd->errorInfo()));
+		}
 		if (!$hadTransaction) {
 			$this->bd->commit();
 		}

+ 1 - 1
app/Models/FeedDAO.php

@@ -105,7 +105,7 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 			return $stm->rowCount();
 		} else {
 			$info = $stm == null ? array(2 => 'syntax error') : $stm->errorInfo();
-			Minz_Log::error('SQL error updateFeed: ' . $info[2]);
+			Minz_Log::error('SQL error updateFeed: ' . $info[2] . ' for feed ' . $id);
 			return false;
 		}
 	}