[vz-dev] vzlogger und neue Middleware

Andreas Götz cpuidle at gmail.com
Sun Feb 2 10:29:28 CET 2014


Das dürfte an der neuen Version von Doctrine liegen. Vmtl versucht es PDO Fehler jetzt abzufangen. Schön gesehen!

Viele Grüße, Andreas 

Von meinem iPad gesendet

> Am 01.02.2014 um 22:21 schrieb Andreas Brus <andreas at brus.name>:
> 
> Moin
> 
> leider ist die neue Middleware doch nicht zu 100% gleich was die Rückmeldungen betrifft.
> Bisher war die Meldung bei "Duplicate Entry" die in src/api/Volkszaehler.cpp behandelt wird:
> 
> CURL Error from middleware: 'PDOException': 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2-1375860463105' for key 'ts_uniq''
> 
> Dies wurde folgendermaßen behandelt:
> 
>      if( err_type == "PDOException") {
>        if( err_message.find("Duplicate entry") ) {
>          print(log_warning, "middle says duplicated value. removing first entry!", channel()->name());
>          _values.pop_front();
>        }
>      }
> Nun wird aber stattdessen DBALException zurückgegeben:
> CURL Error from middleware: 'DBALException': 'An exception occurred while executing 'INSERT INTO data (timestamp, value, channel_id) VALUES (?, ?, ?)' with params [1391043674905,...
> 
> Daher habe ich folgende Zeilen zusätzlich eingefügt.
> 
>      if( err_type == "DBALException") {
>        if( err_message.find("Duplicate entry") ) {
>          print(log_warning, "middle says duplicated value. removing first entry!", channel()->name());
>          _values.pop_front();
>        }
>      }
> Jemand mit c++ Kenntnissen würde sicher sinngemäß sowas wie:
> 
> if( err_type == "PDOException" || err_type == "DBALException") {
> 
> einfügen und damit ein paar Zeilen Code sparen.
> 
> Ich bittte um baldige Aufnahme ins git Repository, damit vzlogger sowohl mit alter als auch neuer Middleware bei Verbindungsproblemen nicht aus dem Tritt kommt.
> 
> Gruß
> A. Brus


More information about the volkszaehler-dev mailing list