Issue Details (XML | Word | Printable)

Key: NUCCORE-159
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Andy Jefferson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Core

Support for transaction "savepoints"

Created: 27/Nov/08 05:42 PM   Updated: 01/Mar/14 07:39 PM   Resolved: 01/Mar/14 07:38 PM
Component/s: Transactions
Affects Version/s: None
Fix Version/s: 4.0.0.m1


 Description  « Hide
During a transaction it would be useful to have the option of partially rolling back a transaction to some known point. This could mirror the JDBC savepoint capabilities (assuming the underlying driver supports them).
Transaction.setSavepoint(String name);
Transaction.releaseSavepoint(String name);
Transaction.rollbackToSavepoint(String name);

If the datastore doesn't support them then these methods would throw exceptions.

When adding a savepoint the list of ids enlisted at the savepoint would need adding. When rolling back to a savepoint the datastore should be rolled back to its savepoint, and the objects who's ids we had would be refreshed. What we do about other objects enlisted since then remains to be defined

Sort Order: Ascending order - Click to sort in descending order
Daniel Baldes added a comment - 19/Jul/11 01:09 PM
Any plans to implement this in near future?

Andy Jefferson added a comment - 19/Jul/11 08:08 PM
No. Not of interest to me or any commercial clients. Obviously you could provide the implementation of it ...

Daniel Baldes added a comment - 27/Jul/11 01:33 PM
How much would it be if my employer would sponsor the implementation of this feature? We got some budget for stuff like this.

Andy Jefferson added a comment - 14/Jan/14 11:21 AM
How much to implement this is unclear without at least doing a proof of concept; depends if your employer is still willing to sponsor this

Daniel Baldes added a comment - 14/Jan/14 01:13 PM
Well, I resigned, I have forwarded this to my former employer.

Andy Jefferson added a comment - 01/Mar/14 07:38 PM
4.0.0.m1 has most of the code for this; dependent on the store plugins supporting it also