Hello.  Long time reader, first time poster here.

I have read the pertinent documentation on this issue but may have missed some important point. I am puzzled by some results I am seeing. Apologies in advance for not providing a small code sample that reproduces the issue, but I think the question should be answerable without such.

Using sqlite version 3.7.17 (which I know is old but I in my little cube have no power to change that).

Not using WAL mode.

I have a database with one process (in one thread) writing to it, and another process (also in a single thread) reading from it only. All writes are done under BEGIN TRANSACTION IMMEDIATE.  Sometimes, an END TRANSACTION fails with error 5, SQLITE_BUSY.   The documentation says this should not happen:

"The BEGIN IMMEDIATE command might itself return SQLITE_BUSY, but if it succeeds, then SQLite guarantees that no subsequent operations on the same database through the next COMMIT will return SQLITE_BUSY."

The read-only process has busy_timeout set to 10000, if that matters.

Am I right that this should not be happening, if indeed my assertions are correct?

thanks,
Andy
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to