On Thu, Oct 28, 2010 at 2:03 PM, Max Vlasov <max.vla...@gmail.com> wrote:

>
> The problem is that (tested with 3.6.10 and 3.7.2) if :
> - I interrupt a query from Sqlite3_progress_handler
> - I didn't invoke this error-processing rollback,
>
> ...sqlite after that does the following:
> - sqlite3_get_autocommit starts to return 0 (not in auto-commit mode) now
> and forever. (But the journal file after interrupted query is not longer
> present, so automatic rollback was actually fired by sqlite)
> - my 'begin transaction' queries executes successfully, but every following
> query that was noticeably fast with normal logic, now slows down like
> there's no transaction at all.
>
>
>
Sorry, I must admit this was a bug in my internal implementation of "nested"
transactions. Rollback that checked for sqlite3_get_autocommit bypassed not
just rollback itself, but also the counter of the BEGIN END calls so the
side effects I initially interpreted as sqlite' were actually mine.

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

Reply via email to