-
Committer:
Tarmac
-
Author(s):
Mikkel Kamstrup Erlandsen
-
Date:
2011-12-15 12:38:40 UTC
-
mfrom:
(309.1.42 transactions)
-
Revision ID:
tarmac-20111215123840-c8orvxf3iq88widl
Implement transaction logic for DeeModels in DeeTransaction
This branch implements a new class, DeeTransaction, that implements
transaction isolation on top of any old DeeModel implementation. It
has only one interesting API call so far,namely commit() which does
as labeled.
How/if exactly we want to expose a transactional API on DeeModel itself
is still up in the air; but this work should provide a solid foundation
for that. (and all of the trickier code needed, anything else will be
mostly just gloss).
Since this is a rather complicated afair I recomment that we take a somewhat
functional approach to the review. Validate the testing harness - and possibly
submit a few new test cases to cover the stuff I didn't think of.. Fixes: https://bugs.launchpad.net/bugs/894023. Appoved by Michal Hruby.