[Zope-dev] Re: New ways of getting transactions?
Tres Seaver
tseaver at palladion.com
Sun Dec 11 13:22:15 EST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Andreas Jung wrote:
>
>
> --On 11. Dezember 2005 17:01:56 +0100 "Morten W. Petersen"
> <morten at nidelven-it.no> wrote:
>
>> Hi,
>>
>> I'm having some code that bombs out trying to commit a transaction; I
>> believe it's because of new ways of doing things in Zope 2.9.. how do
>> you call the equivalents of get_transaction().commit() and abort() in
>> Zope 2.9? Will those new ways work with Zope 2.7/2.8?
>>
>>
>
> See doc/ZODB.txt. Of course the new API will not work in Zope 2.7/2.8.
The 'transaction' module is present in Zope 2.8.x / ZODB 3.4.x. Forward
compatibility for third-party produccts which need to work on both 2.7.x
and 2.8.x+ usually looks like this:
try:
import transaction
except ImportError:
class transaction:
""" Forward-compatibility for Zope 2.7.x
"""
def begin(self):
get_transaction().begin()
def commit(self, sub=False):
get_transaction().commit(sub)
def abort(self, sub=False):
get_transaction().abort(sub)
def savepoint(self, optimistic=None):
get_transaction().commit(optimistic and 1 or 0)
def get(self):
return get_transaction()
transaction = transaction()
I'll agree with Jim and Morten that the deprecated 'get_transaction()'
pattern should *not* have been ripped out in Zope 2.9b1 (2.10 is the
earliest feasible point, I think).
Tres.
- --
===================================================================
Tres Seaver +1 202-558-7113 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDnG5W+gerLs4ltQ4RAlDCAJ9n1owUWja8VUoYfOA3qXQEwKK/AwCffWDG
YbnO+f8tnKilCYQHVnPeYNk=
=7HJy
-----END PGP SIGNATURE-----
More information about the Zope-Dev
mailing list