On 2015-11-25 22:19, Peter Haworth wrote:
Maybe I'm missing something but I don't understand why the issue of
concurrent users keeps coming up in threads about SQL dbs.  There are
perfectly good mechanisms built into every SQL implementation to preserve the integrity of the db, that's ACID is all about, or at least the "I" in it. They require that correct programming techniques are used of course, but without concurrency control, an SQL db would be pretty much useless.

SQLite is designed as a single-file database to be mutated by a single process.

The ability to have multiple processes write to the same database file has nothing to do with ACID compliance - in order for that to be possible, the operating system would have to provide strong guarantees on file locking which none do in all situations (UNIX based systems, for example, tend to only have advisory locks, not guaranteed locks meaning that processes have to co-operate).

Indeed, an SQLite database is perhaps not really any different from the data files you point a MySQL, or PostgreSQL instance at. I'd suspect they would get really screwed up if you tried to run two servers pointing at the same files and, indeed, that isn't how they are meant to be used as the point of using a 'database server' is to allow concurrent multi-user access. Of course you could write an database server which uses SQLite as the datastore (some have!) - but that is a distinctly different use-case for which SQLite is intended for in terms of 'direct access'.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to