On 22.04.2011 23:11, Hyrum K Wright wrote: > What's the relationship between cancellation functions and > transactions in wc-ng? > > In the interests of performance and correctness, we've been moving > toward a model where more and more gets done in a single wc-ng > transaction. I've no problem with that, and like the atomicity and > speed it gives us, but how does that interact with our cancellation > functions? Do we still check for cancellation from within the > transaction? If the user cancels, do we rollback the transaction, or > commit it? > > My question then is two-fold: > * what actually happens today? > * and what is the Right Thing to happen? > > My own thoughts: we should check for cancellation, and if it occurs, > we should rollback the txn.
If the transaction is so long-running that cancellation checks would make sense ... then something's wrong, as AFAIUI long-running transactions are frowned upon around here. Still, if that does happen, then the only thing you can do when an operation is canceled is to roll back the transaction -- anything else would be bound to produce invalid state in the database. -- Brane