QDBM and transactions

Matthias Andree matthias.andree at gmx.de
Fri Oct 29 12:26:50 CEST 2004


Stefan Bellon <sbellon at sbellon.de> writes:

> I've just had a look at the QDBM documentation. We currently use the
> Depot API in QDBM. But there exists another one: the Villa API. And the
> Villa API has transaction support. Perhaps we can indeed maintain a
> transactional QDBM together with a BerkeleyDB one?

Feel free to take a stab and implement a transactional interface for
QDBM; if you have any questions, this list is the right place to ask.

If you need a crash detector (because QDBM doesn't by itself figure when
it needs to recover/rollback, Berkeley DB doesn't), check db_lock.c and
how it's integrated in datastore_db.c.

We're effectively using an outer lock layer (traditional fcntl locked
file) and an inner lock layer (special character cell based locking
process tracker developped by Pavel and me little) which is currently
tailored for Berkeley DB's needs but can be used by other data bases,
too, if needed. The inner layer requires record locks, not sure if OS/2
or RiscOS can provide these.

-- 
Matthias Andree



More information about the bogofilter-dev mailing list