SQLite and multiuser

Joel Guillod joel.guillod at net2000.ch
Tue Jan 30 13:44:03 EST 2007


The SQLite documentation under topic «File Locking And Concurrency»  
states: «SQLite uses POSIX advisory locks to implement locking on  
Unix. On windows it uses the LockFile(), LockFileEx(), and UnlockFile 
() system calls. SQLite assumes that these system calls all work as  
advertised. If that is not the case, then database corruption can  
result. One should note that POSIX advisory locking is known to be  
buggy or even unimplemented on many NFS implementations (including  
recent versions of Mac OS X) and that there are reports of locking  
problems for network filesystems under windows. Your best defense is  
to not use SQLite for files on a network filesystem.»

The last sentence clearly demonstrates that SQLite files should not  
be used on a network. So, I would be pleased to have advices on how  
to access SQLite database throught network in a multiuser environment.

There is one relatively easy implementation scenario I think about:  
to write a Rev application which works as a SQLite server and to  
which any client Rev application connects to in order to query the  
databases. In such a way only the server is dealing with database  
files and this probably works okay for small network traffic. Any  
other suggestion for a solution would be welcome.

Thanks, JG


More information about the use-livecode mailing list