mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-06-08 22:05:44 -04:00
SET TRANSACTION ISOLATION LEVEL applies to the very next transaction on the connection. zmDbDo's success Debug INSERT INTO Logs is a real statement on the same $dbh; with database debug logging enabled, that INSERT becomes the "next transaction" and silently consumes the isolation directive. The intended READ COMMITTED then never applies to the prune/resync/delete TX that follows. Call $dbh->do directly for SET TRANSACTION in both Event::delete and zmstats.pl, bypassing zmDbDo's logging. SET TRANSACTION can't deadlock so zmDbDo's retry was no benefit here anyway.