On Nov 4, 2010, at 1:30 AM, Igor Tandetnik wrote: > Pavel Ivanov <paiva...@gmail.com> wrote: >>> Yes. That's precisely the intended use case. Remember though that >>> the transaction is not really committed until COMMIT statement >>> runs: if your application crashes or machine loses power, all >>> changes to the beginning of the transaction are rolled back, not >>> just those since last "committed" checkpoint. >> >> Does my memory fool me or there are some error conditions in >> SQLite when it automatically (without explicit user request) >> rollbacks >> the whole transaction disregarding any savepoints? > > I believe ON CONFLICT ROLLBACK (and its equivalents, like > RAISE(ROLLBACK) ) would roll back the whole transaction.
That's the usual cause. Also, if an OOM or IO error occurs the transaction may be rolled back automatically. Or sometimes if the file-system is full. Dan. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users