Hi all I am using Python 3.6.0 and sqlite3 3.20.1. I am getting the message ‘database is locked’ which, from reading the docs, I think is coming from an SQL_BUSY error.
It does not behave in the way I expect. I tested using two concurrent connections – call them conn_1 and conn_2. 1. conn_1 performs an INSERT. 2. conn_2 performs an INSERT. 3. conn_1 sleeps for 1 second, then performs a COMMIT. 4. conn_2 sleeps for 1 second, then performs a COMMIT. After step 2, the database is locked, which I understand. I don’t know which connection is holding the lock, but I don’t think that matters. What I expected to happen was that, after one second, whichever connection was holding the lock would COMMIT, which would free up the other connection, which would then complete normally. AFAICT, what happens in practice is that the lock is held for the default timeout of 5 seconds, then the connection which did *not* hold the lock fails with ‘database is locked’, and the connection which *did* hold the lock completes normally. Is there any way to get the behaviour that I am looking for? Thanks Frank Millman _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users