Hi All,
I currently have a single-user SQLite-based application that, due to
customer need, is being pushed toward multi-user access. I've done some
research on the multi-user capabilities of SQLite. It seems the general
consensus is that when the database file is stored on a network drive
(as is my case), the integrity of the stored data becomes questionable
(apparently due to bugs in the various NFS file locking protocols).
Fortunately, my application is designed such that (generally speaking)
each User of the system will be working within their own SQLite
database. However, there are a few select places in the code where a
User could trigger an action that would cause the storage of data to a
common, upper-level SQLite database.
I think I can change portions of the application to ensure that these
common writes never happen concurrently, but I'd like to understand the
underlying situations and dangers that can occur in this environment.
So, what are the cases that could cause database corruption?
1. Multiple Users writing to the same table of the same open database at
the same time?
2. Multiple Users writing to two different tables of the same open
database at the same time?
3. Multiple Users writing to the same table of the same open database at
different times?
4. Other cases I haven't thought about?
I realize there also some dangers with regard to potentially writing
"stale" data to the database thus losing someone else's updates. I
still have some thinking to do in that regard, but for now I'd like to
understand the situations that could compromise the integrity of the
underlying database file itself.
Thanks for any details you can provide.
Jeff
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------