Это значит в какой-то функции используется транзакция:function ff() { $db->begin(); $db->query(…); $db->query(…); $db->commit(); }
А потом в другом месте в рамках другой транзакции вызывается эта функция.$db->begin(); $db->query(…); ff(); $db->query(…); $db->commit();
Первый коммит будет вызван в ff(), но фактического коммита при этом не произойдёт.
$db->begin() = function (){ $this->openTr++}
$db->commit() = function (){ if $this->openTr > 1 then $this->openTr– else $this->realCommit()}
так чтоли?