Chris wrote: > I need simple data persistence for a cgi application that > will be used potentially by multiple clients simultaneously. > So I need something that can handle locking among writes. > Sqlite probably does this, but I am using Python 2.4.4, which > does not include sqlite. The dbm-style modules would > probably be fine, but I have no idea if they are "write safe" > (I have no experience with the underlying unix stuff). Any > tips appreciated.
No, you cannot assume that this will work without locking. Locking is not trivial to do in Python. And, even with a working locking mechanism, you still have to invalidate the in-memory caches any time a write to the database is done. Futher, most dbm modules do not have ACID properties. I suggest intalling the pysqlite module and using it, regardless of your version of CPython. According to pysqlite developer, the version of pysqlite included in CPython 2.5 is old. - Brian -- http://mail.python.org/mailman/listinfo/python-list