--On 13. Oktober 2005 01:33:14 -0400 Chris Spencer <[EMAIL PROTECTED]> wrote:

Andreas Jung wrote:

--On 13. Oktober 2005 00:52:02 -0400 Chris Spencer

If one thread writes to an object on one connection, and another thread
does the same on another connection, then one calls
transaction.commit(), will the all the changes in both connections be
commited? Is there a way for threads to maintain separate transactions?

The first thread to commit wins. The second one will see a
WriteConflictError exception. THat's how the ZDOB works: first come,
first serve.


I don't understand. How would two different threads, operating on
different data, committing at different times be in any sort of conflict?
I thought ZODB only raises a ConflictError when the same object is
written to by different threads?

My remarks applies to the fact when you are writing to the *same* object (that's how I read and understood your posting). If you writing to different objects in different threads then all transactions are isolated...one of the basic features of databases.


Attachment: pgp6IaZoXRCGq.pgp
Description: PGP signature

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to