On 26 Mar 2018, at 8:57am, Marco Bambini <[email protected]> wrote: > So it has nothing to do with which table/row the transaction is modifying?
Correct. SQLite does not have table-locking or row-locking. Any locks in a SQLite database lock the entire database. This is a fundamental aspect of SQLite and one of the reasons it's so fast and simple. > In your example connection 2 always returns with an error on COMMIT? Assuming I understand the documentation correctly ... If the commands are executed in the order I showed, then the second COMMIT will always return SQLITE_BUSY_SNAPSHOT instead of SQLITE_OKAY. > Seems like the improvement is only on when the error occurs and not on > concurrency or am I missing something? The BEGIN CONCURRENT command is inconvenient for most SQLite users and they should avoid it. It's an improvement for just a very few programs which depend on threads executing in predictable amounts of time. Simon. _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

