← Back to team overview

maria-developers team mailing list archive

WL#137 New (by Sergei): nested transactions

 

-----------------------------------------------------------------------
                              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)