On Jun 10, 2008, at 7:55 PM, Igor Tandetnik wrote:

> D. Richard Hipp <[EMAIL PROTECTED]> wrote:
>> On Jun 10, 2008, at 4:04 PM, Robert Lehr wrote:
>>> Specifically, does SQLite lock the DBs incrementally, as they are
>>> accessed within the transaction?  Or does it lock ALL DBs?
>>
>> Databases are locked as needed - incrementally.
>
> So this is another possible source of deadlocks, right? One connection
> locks database A, then tries to lock database B. At the same time,
> another connection locks database B, then tries to lock database A.
>
> Is such a deadlock detected, in the same way a deadlock caused by two
> read-then-write transactions on a single database is? In the latter
> case, if I recall correctly, the deadlock detection causes the  
> statement
> to fail with SQLITE_BUSY immediately, without calling the busy handler
> (since waiting won't help any).


In this case, both processes wait because there is still the  
possibility that one will abandon its lock attempt and commit what it  
has already, allowing the other to proceed.


D. Richard Hipp
[EMAIL PROTECTED]



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

Reply via email to