Thanks again Simon,

I am actually asking for queries that may well not be in an EXCLUSIVE 
section, but I've realised that I can simulate the blocking in my own 
application by busy-waiting.

Ian

On 12/06/2011 15:16, Simon Slavin wrote:
> On 12 Jun 2011, at 3:05pm, Ian Hardingham wrote:
>
>> If process B tries to access a table which process A is currently
>> writing to, is an error returned or does sqlite block?  I very much need
>> SQLite to block - is there an option for that?
> [context: Ian is explicitly using BEGIN EXCLUSIVE for his transactions]
>
> Hahaha.  Now you have to read and understand
>
> <http://www.sqlite.org/c3ref/busy_handler.html>
>
> See you in two years.  I'm not very familiar with it, but my understanding is 
> that after a short initial time of retrying, your function call will return a 
> result of either SQLITE_BUSY or SQLITE_IOERR_BLOCKED.  Here are all the 
> result codes:
>
> <http://www.sqlite.org/c3ref/c_abort.html>
>
> And here is a very detailed treatment of how locking works, which you should 
> probably read if you are going to depend on exactly how SQLite does locking 
> rather than just rely on it doing The Right Thing:
>
> <http://www.sqlite.org/lockingv3.html>
>
> Simon.

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

Reply via email to