Forget the previous post as it's probably wrong.  I was misinterpreting 
the ROLLBACK TO discussion.  In fact I was led to believe there were 
two forms: "rollback to" and "rollback to <savepoint>".  This is not 
the case.

But then, I still have hard time understanding this part:

"Instead of cancelling the transaction, the ROLLBACK TO command 
restarts the transaction again at the beginning. All intervening 
SAVEPOINTs are cancelled, however."

Say we have the following events:

begin
insert
update
savepoint A
update
savepoint B
insert
delete
savepoint C
update
rollback to B

I would expect the last statement to:
cancel the whole transaction  (contrary to what's said)
then re-apply changes:

begin
insert
update
savepoint A ???
update

Is savepoint A considered an "intervening" savepoint?



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to