----------------------------------------------------------------------- WORKLOG TASK -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- TASK...........: nested transactions CREATION DATE..: Sun, 05 Sep 2010, 14:12 SUPERVISOR.....: IMPLEMENTOR....: COPIES TO......: CATEGORY.......: Server-RawIdeaBin TASK ID........: 137 (https://askmonty.org/worklog/?tid=137) VERSION........: Benchmarks-3.0 STATUS.........: Un-Assigned PRIORITY.......: 60 WORKED HOURS...: 0 ESTIMATE.......: 24 (hours remain) ORIG. ESTIMATE.: 24 PROGRESS NOTES: DESCRIPTION: Add support for nested transactions. Technically the implementation is trivial - START TRANSACTION should contain a check if there is an existing transaction, and if yes - execute SAVEPOINT instead. Similarly, ROLLBACK should cause "ROLLBACK TO SAVEPOINT" if transaction nesting level is more than 1. The problem - this is a serious change in behavior for START TRANSACTION/COMMIT/ROLLBACK. Possible solutions: add an sql mode or a server variable, e.g. SET @@allow_nested_transactions=YES. Or - create a special syntax, such as START NESTED TRANSACTION, ROLLBACK NESTED, COMMIT NESTED. These statements should execute internally either transaction or savepoint functions, as appropriate. ESTIMATED WORK TIME ESTIMATED COMPLETION DATE ----------------------------------------------------------------------- WorkLog (v4.0.0)