Project

General

Profile

Actions

Feature #8851

closed

new logmode: modifyAll

Added by Carsten Rose over 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Elias Villiger
Target version:
Start date:
15.08.2019
Due date:
% Done:

100%

Estimated time:
Discuss:
Prio Planung:
Vote:

Description

Der bisherige Logmode 'modify' soll neu keine Update / Insert Statements mehr loggen mit 'Affected rows'=0.

Es gibt einen neuen Logmode 'modfiyAll', der alle Insert/Update Statements loggt.

Actions #1

Updated by Elias Villiger over 4 years ago

  • Tracker changed from Support to Feature
  • Status changed from New to Ready to sync (develop)
Actions #2

Updated by Elias Villiger over 4 years ago

  • Status changed from Ready to sync (develop) to Closed
  • % Done changed from 0 to 100
Actions #3

Updated by Carsten Rose over 4 years ago

  • Target version changed from 146 to 19.8.0
Actions #4

Updated by Carsten Rose about 4 years ago

Die Aenderungen wurden bzgl Unterscheidung modify / modifyAll wieder zurueck genommen. Die Erweiterung des Logging von CREATE, ALTER,... ist drin geblieben.

Problem: es wurde gar nicht mehr geloggt (sql.log blieb leer)!!!

Ursache: Fehler in der Implementierung - der systemweite default 'modify' ist kleiner als 'modifyAll' und in QFQ wurde 'modifyAll' gesetzt, der Loglevel steht aber auf 'modify' , also wurde das nicht geloggt.

Ausserdem: Nach Analyse des Codes ist nicht klar geworden was durch 'modifyAll' mehr/weniger geloggt werden soll. Aktuell:

[2020.01.09 10:29:01 +0100][192.168.133.203][Page:1,tt:35,level:5][INSERT INTO Person (`name`) SELECT 'john' FROM FormElement WHERE 1=0]
[2020.01.09 10:29:01 +0100][192.168.133.203][Page:1,tt:35,level:5][ID: 0 - affected rows: 0]

Actions #5

Updated by Elias Villiger about 4 years ago

Ich habe meinen Code nochmals getestet und so wie ich das Feature verstehe funktioniert alles wie erwartet: Bei sqlLogMode modify werden nur INSERT/UPDATEs geloggt, die affected rows > 0 haben, bei sqlLogMode modifyAll werden alle INSERT/UPDATEs geloggt.

Wenn in der Config sqlLogMode modify gesetzt ist und im Report z.B. modifyAll, dann überschreibt die Definition im Report immer diejenige in der Config. Das sieht auch in meinen Tests gut aus. sql.log bleibt bei mir nur leer, wenn ich z.B. logMode modify habe und die UPDATEs nichts verändern.

Wenn du mir ein konkretes Setup hast, wo es nicht korrekt funktioniert, schaue ich gerne, dass ich das korrigiere. Ich kann das Problem aber aktuell nicht nachvollziehen.

Actions #6

Updated by Elias Villiger about 4 years ago

PS: der Code ist aktuell auf geolean aktiv

Actions

Also available in: Atom PDF