[ZODB-Dev] breaking out the transaction module from ZODB

Jim Fulton jim at zope.com
Thu Nov 8 18:25:56 EST 2007


On Nov 8, 2007, at 1:59 PM, Chris McDonough wrote:

>
> On Nov 8, 2007, at 9:14 AM, Jim Fulton wrote:
>>>  class TransactionFailedError(Exception):
>>>      """Cannot perform an operation on a transaction that  
>>> previously failed.
>>>
>>>      An attempt was made to commit a transaction, or to join a  
>>> transaction,
>>>      but this transaction previously raised an exception during  
>>> an attempt
>>>      to commit it.  The transaction must be explicitly aborted,  
>>> either by
>>>      invoking abort() on the transaction, or begin() on its  
>>> transaction
>>>      manager.
>>>      """
>>
>> Why not subclass TransactionError?
>
> It didn't before.  Should it?

Seems logical, but I'm not looking that closely. :)

...

>>>  And I'm thinking that the transaction distribution should be  
>>> named just "transaction".
>>
>> Yes, unless we decide to move the package.  I think transaction is  
>> a bit presumptuous. :)
>
> How about "zope.transaction"?

Guido recently told me that people in the Python community at large  
assume that anything in the Zope namespace is assumed to be Zope  
specific, so I'd rather not put it there.

>   There's a good deal of 3rd-party code that does "import transaction"

Good point.  I guess we should leave the package where it is.  Note  
that then we have a tricky issue with avoiding having the package  
installed twice.  I guess we should ignore this for now. :/


> but we could supply a module alias for this purpose.  We'd just  
> change the Z2 and Z3 appserver distributions to do "import  
> zope.transaction as transaction" or whatever, and have the  
> appserver distributions depend on a shim "transaction" module or  
> module alias or whatever too so 3rd-party code would continue to  
> work, maybe making imports using them issue a deprecation warning?

Never mind. I guess we should leave it where it is. :)

Jim

--
Jim Fulton
Zope Corporation




More information about the ZODB-Dev mailing list