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]
-----------------------------------------------------------------------------

Reply via email to