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