Re: [ZODB-Dev] Making use of the zodb transaction framework outside of zodb?

2007-02-14 Thread Dieter Maurer
Petra Chong wrote at 2007-2-13 18:27 -:
 ...
In the docs I have read that it is possible for non-zodb apps to plug
into the transaction framework. However, I am unable to find any
specifics as to how to do this. 

What I'd like to do is this:

1. Have my app import transaction
2. When transaction.commit() is called from my app, have other things be
notified by that.

Ages ago, I found a documentation about the ZODB that details
its transaction handling. I have remembered the essential facts
but forgot where I have found the documentation.
With your favorite search engine, you might be able to find it

Alternatively, you can look at the source code for
transaction._transaction.Transaction.commit or
use Zope's shared.DC.ZRDB.TM.TM (the TM stands for
Transaction Manager).

The TM class is used to interface
Zope's relational database adapters to the transaction system.
To see how TM might be used, you can look at the
implementation of a Zope database adapter. The TM use
is traditionally found in a file called db.py ((almost) all
adapters seem to have been copied from a common ancestor and then
modified), e.g. ZPsycopaDA/db.py.



-- 
Dieter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Making use of the zodb transaction framework outside of zodb?

2007-02-14 Thread Christian Theune
Hi,

Am Mittwoch, den 14.02.2007, 23:05 +0100 schrieb Dieter Maurer:
 Petra Chong wrote at 2007-2-13 18:27 -:
  ...
 In the docs I have read that it is possible for non-zodb apps to plug
 into the transaction framework. However, I am unable to find any
 specifics as to how to do this. 
 
 What I'd like to do is this:
 
 1. Have my app import transaction
 2. When transaction.commit() is called from my app, have other things be
 notified by that.
 
 Ages ago, I found a documentation about the ZODB that details
 its transaction handling. I have remembered the essential facts
 but forgot where I have found the documentation.
 With your favorite search engine, you might be able to find it
 
 Alternatively, you can look at the source code for
 transaction._transaction.Transaction.commit or
 use Zope's shared.DC.ZRDB.TM.TM (the TM stands for
 Transaction Manager).

Which reminds me of a nice exercise that I discovered with a colleage:
ZODB currently supports two (old/new) styles of the two-phase-commit for
backwards-compatibility.

The whole code is much harder to understand because of the support of
the two versions of the TPC protocol. 

Just FYI and maybe someone thinks it might be a good idea to clean up
too. My current todo list is way too long, but I'd put it in the
collector if it's a worthwhile thing.

Christian

-- 
gocept gmbh  co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev