瀏覽代碼

Change filter of expected SQL errors

Filter out "SQLSTATE Class code 23: Constraint Violation" because of
expected duplicate entries.
Consider adding a Minz_Log::DEBUG level
Alexandre Alapetite 12 年之前
父節點
當前提交
de6e1b0a86
共有 2 個文件被更改,包括 5 次插入5 次删除
  1. 2 4
      app/controllers/feedController.php
  2. 3 1
      app/models/Entry.php

+ 2 - 4
app/controllers/feedController.php

@@ -162,10 +162,8 @@ class feedController extends ActionController {
 				$feedDAO->updateLastUpdate ($feed->id ());
 				$flux_update++;
 			} catch (FeedException $e) {
-				if (strpos($e->getMessage (), 'Duplicate entry') === false) {	//Filter out expected duplicate entries	//TODO: Optimize to avoid try/catch exception
-					Minz_Log::record ($e->getMessage (), Minz_Log::ERROR);
-					$feedDAO->isInError ($feed->id ());
-				}
+				Minz_Log::record ($e->getMessage (), Minz_Log::ERROR);
+				$feedDAO->isInError ($feed->id ());
 			}
 
 			// On arrête à 10 flux pour ne pas surcharger le serveur

+ 3 - 1
app/models/Entry.php

@@ -216,7 +216,9 @@ class EntryDAO extends Model_pdo {
 			return true;
 		} else {
 			$info = $stm->errorInfo();
-			Minz_Log::record ('SQL error : ' . $info[2], Minz_Log::NOTICE);
+			if ((int)($info[0] / 1000) !== 23) {	//Filter out "SQLSTATE Class code 23: Constraint Violation" because of expected duplicate entries
+				Minz_Log::record ('SQL error ' . $info[0] . ': ' . $info[1] . ' ' . $info[2], Minz_Log::NOTICE);	//TODO: Consider adding a Minz_Log::DEBUG level
+			}
 			return false;
 		}
 	}