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