[ZODB-Dev] Explicit two-phase commit

Jeremy Hylton jeremy@alum.mit.edu
Mon, 17 Sep 2001 23:56:45 -0400 (EDT)


>>>>> "IS" == Itamar  <twisted@itamarst.org> writes:

  IS> I'm thinking of what's in the ZODBRoadmap as:

  IS>      Allow use of foreign TP monitor

  IS>      Allow ZODB transactions to be controlled by external TP
  IS>      monitor, like Tuxedo.

  IS> And I don't really see a transaction manager anywhere in the
  IS> ZODB code... Maybe Connection, but I can't really figure out
  IS> what and where, and by whom tpc_* are called.

Okay.  I didn't do much thinking before I answered your last
question.  Now that I've thought about it, I tend to agree that we
don't have a good answer.

The various tpc_xxx methods are called by the commit method of a
Transaction object, e.g. get_transaction().commit().  For each object,
it looks up the _p_jar attribute and then executes the tpc_begin()
etc.

Jeremy