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

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 Fulton
Zope Corporation

For more information about ZODB, see the ZODB Wiki:

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

Reply via email to