[ZODB-Dev] question

Dieter Maurer dieter at handshake.de
Sat Sep 13 06:21:16 EDT 2003


Christian Reis wrote at 2003-9-10 11:53 -0300:
 > ...
 > It's great to be able to use the fresh database instances in dialogs --
 > the code is amazingly simple, you don't need to do temporary storage
 > hacks -- and, most importantly of all, transactions make handling
 > "cancel" trivial.  That's object-oriented programming in it's full
 > glory!

Why do you not use a *separate* transaction to manage your "out of band"
objects?

In older ZODB versions, a transaction was tightly bound to a thread.
However, as I understood it, new ZODB versions (don't know when this
has been introduced) allow to decouple transactions (and ZODB connections)
from threads (to provide single threaded applications control over several 
independent connections/transactions).

You may also want to use MVCC (Multi Version Concurrency Control)
(e.g. as implemented in my "No more ReadConflictErrors" patch) as
otherwise, long living transactions may see a higher probability
of ReadConflictErrors.


Dieter



More information about the ZODB-Dev mailing list