SQL Fehler in der we_schedpro.inc.php
Verfasst: Do 4. Apr 2013, 14:06
Hallo zusammen,
eben habe ich eine 6.3.6 Beta 1 auf die aktuelle Stable gebracht. Leider kann man im Anschluss garnicht oder nur mit viiel Geduld die Seite aufrufen.
'MYSQL-ERROR
Fehler: 1064
Detail: Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ''AND Active=1 AND Wann= AND ClassName="" AND Type="" AND Was=""'' in Zeile 1
Info:
Query: UPDATE WE_tblSchedule SET Active=0, Schedpro="a:0:{}" WHERE DID= AND Active=1 AND Wann= AND ClassName="" AND Type="" AND Was=""'
0 error_handler called at [:]\n#1 query called at [webEdition/we/include/we_modules/schedule/we_schedpro.inc.php:471]
MYSQL-ERROR
Fehler: 1064
Detail: Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ''AND Active=1 AND ClassName="" AND Type="" AND Was="" AND Wann='' in Zeile 1
Info:
Query: UPDATE WE_tblSchedule SET lockedUntil=lockedUntil+INTERVAL 1 minute WHERE DID= AND Active=1 AND ClassName="" AND Type="" AND Was="" AND Wann=', '2013-04-04 09:55:09', 'SQL Error', 'error_handler', '', 0, '#0 error_handler called at [:]\n#1 query called at [webEdition/we/include/we_modules/schedule/we_schedpro.inc.php:455]
Anscheinend wird in der we_schedpro.inc.php irgendwas nicht richtig abgefangen. Beidesmal ist der Wert DID in der Query nicht befüllt - da in der ScheduleTabelle keine Zeilen vorhanden sind. Den Scheduler verwenden wir beim betroffenen Auftritt sowieso nicht.
Die tblErrorLog wächst dank aktivem Fehlerlogging übrigens ohne Unterlass, 2 GB nach 40 Minuten
Folgende Änderungen helfen mir nun kurzzeitig, eine gute Lösung ist das aber leider nicht
Die Zeile 454 schaut nun wie folgt aus:
while((!$hasLock && ($DB_WE->lock(array(SCHEDULE_TABLE, ERROR_LOG_TABLE))) && ($rec = getHash('SELECT * FROM ' . SCHEDULE_TABLE . ' WHERE Wann<=UNIX_TIMESTAMP() AND lockedUntil<NOW() AND Active=1 ORDER BY Wann LIMIT 1', $DB_WE)))) {
Jetzt funktioniert aber der Scheduler nicht mehr wie er sollte. :-/
In Zeile 456 wurde noch folgendes "verschönert" ...SET lockedUntil=DATE_ADD(lockedUntil, INTERVAL 1 MINUTE)...
...aber dieser Mod ist nicht kriegsentscheidend bei dem aktuellen Problem ^^
Die Modifikationen sind nicht von mir selbst, aber Sie sorgen dafür, dass unser Auftritt wieder ordentlich ausliefert.
Ich konnte diesen "Bug" auch nicht im Bugtracker bzw hier im Forum finden, scheinbar tritt dieser Fehler ja nur selten auf (alternativ hab ichs übersehen).
Gibt es Eurerseits evtl. Ideen oder Vorschläge, was in diesem Fall zu tun ist?
eben habe ich eine 6.3.6 Beta 1 auf die aktuelle Stable gebracht. Leider kann man im Anschluss garnicht oder nur mit viiel Geduld die Seite aufrufen.
'MYSQL-ERROR
Fehler: 1064
Detail: Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ''AND Active=1 AND Wann= AND ClassName="" AND Type="" AND Was=""'' in Zeile 1
Info:
Query: UPDATE WE_tblSchedule SET Active=0, Schedpro="a:0:{}" WHERE DID= AND Active=1 AND Wann= AND ClassName="" AND Type="" AND Was=""'
0 error_handler called at [:]\n#1 query called at [webEdition/we/include/we_modules/schedule/we_schedpro.inc.php:471]
MYSQL-ERROR
Fehler: 1064
Detail: Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ''AND Active=1 AND ClassName="" AND Type="" AND Was="" AND Wann='' in Zeile 1
Info:
Query: UPDATE WE_tblSchedule SET lockedUntil=lockedUntil+INTERVAL 1 minute WHERE DID= AND Active=1 AND ClassName="" AND Type="" AND Was="" AND Wann=', '2013-04-04 09:55:09', 'SQL Error', 'error_handler', '', 0, '#0 error_handler called at [:]\n#1 query called at [webEdition/we/include/we_modules/schedule/we_schedpro.inc.php:455]
Anscheinend wird in der we_schedpro.inc.php irgendwas nicht richtig abgefangen. Beidesmal ist der Wert DID in der Query nicht befüllt - da in der ScheduleTabelle keine Zeilen vorhanden sind. Den Scheduler verwenden wir beim betroffenen Auftritt sowieso nicht.
Die tblErrorLog wächst dank aktivem Fehlerlogging übrigens ohne Unterlass, 2 GB nach 40 Minuten
Folgende Änderungen helfen mir nun kurzzeitig, eine gute Lösung ist das aber leider nicht
Die Zeile 454 schaut nun wie folgt aus:
while((!$hasLock && ($DB_WE->lock(array(SCHEDULE_TABLE, ERROR_LOG_TABLE))) && ($rec = getHash('SELECT * FROM ' . SCHEDULE_TABLE . ' WHERE Wann<=UNIX_TIMESTAMP() AND lockedUntil<NOW() AND Active=1 ORDER BY Wann LIMIT 1', $DB_WE)))) {
Jetzt funktioniert aber der Scheduler nicht mehr wie er sollte. :-/
In Zeile 456 wurde noch folgendes "verschönert" ...SET lockedUntil=DATE_ADD(lockedUntil, INTERVAL 1 MINUTE)...
...aber dieser Mod ist nicht kriegsentscheidend bei dem aktuellen Problem ^^
Die Modifikationen sind nicht von mir selbst, aber Sie sorgen dafür, dass unser Auftritt wieder ordentlich ausliefert.
Ich konnte diesen "Bug" auch nicht im Bugtracker bzw hier im Forum finden, scheinbar tritt dieser Fehler ja nur selten auf (alternativ hab ichs übersehen).
Gibt es Eurerseits evtl. Ideen oder Vorschläge, was in diesem Fall zu tun ist?