On Tue, Aug 31, 2010 at 10:08 AM, Platonides Platonides@gmail.com wrote:
I propose changing Database::begin() / commit() / rollback() to keep the count in mTrxLevel and perform a savepoint instead of a BEGIN should it be called inside another one.
FWIW, I think I hacked one of those locally because I got tired of the PG log being spammed with 'not in a transaction' warnings since, likely due to this issue, MW calls $dbw->commit() regardless of the txn level.
The PG driver already (ab)uses savepoints to emulate MySQL since MW uses INSERT IGNORE in quite a few places.