[Jim Fulton]
> ISynchronizer should grow a new method:
>      def newTransaction(transaction):
>          """Hook that is called at the start of a transaction."""
> The TM calls this method with the new transaction.

I like this, although I don't know what "start of a transaction" means.
There's no Transaction method corresponding to that concept.  I know what
Transaction.begin() means.

The name "newTransaction" suggests a third possible meaning:  the callback
is invoked by Transaction.__init__().

A fourth possible meaning is that newTransaction should be invoked after a
commit() or abort() too, since in some sense we (at least conceptually) "are
in a new transaction" the instant after the current transaction ends.

What's your true intent here?

> For Connections, this method will do what sync does now sans the abort.

Or, IOW, what Connection.afterCompletion does on my local box <wink>.

For more information about ZODB, see the ZODB Wiki:

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

Reply via email to