On 12 Jun 2011, at 12:07pm, Ian Hardingham wrote: > I believe it's fine to have four applications open the same database > file and use it concurrently.
Assuming you are compiling without any special directives which turn this ability off. For instance, read about everything mentioned in the section: <http://www.sqlite.org/compile.html#threadsafe> Apart from that, just use transactions properly. Most people ask this question about 'multiple processes' so any previous answers about this are answers to your question. > I have a few questions. > > 1. Do I need to use any special PRAGMA or other option to use this > functionality best? No. Just don't use PRAGMAs to defeat anything SQLite does by default. Many of the PRAGMAs which are normally used to speed SQLite up do it by defeating the multi-user ability. If you leave stuff alone it should all work fine. > 2. Is it possible to (ab)use SQLite to perform as some kind of mutex? > Could I go "down" on one table and "up" once I've finished a section of > code in my application which I wish to be only run once at any given time? I'm not certain I understand your question but SQLite performs a kind of mutexing by default. If you want to use SQLite as a semaphore system between applications you can do it by having applications perform (or try to perform) BEGIN EXCLUSIVE and see what result code they get. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users