This is super cool, great work Juan. My only concern is that you do not always want to have checkpoints as they are Somewhat expensive for the database manager.
Sometimes having the ability to fake transactions is enough for the user (and in general for internal CakePHP needs such as loading fixtures)
I would offer the ability of using both types, faked and real transaction nesting and making the fake ones the default. If anyone need a more advanced approach to transactions they can just enable it.
What do you think?
Sent from my iPhone