[Zodb-checkins] SVN: ZODB/branches/3.4/ Connection (and IDataManager) grows a public .transaction_manager

Tim Peters tim.one at comcast.net
Fri May 27 14:07:49 EDT 2005


Log message for revision 30534:
  Connection (and IDataManager) grows a public .transaction_manager
  attribute.
  
  The related txn_mgr spelling of various method arguments is
  now deprecated, and a "transaction_manager" spelling is added.
  

Changed:
  U   ZODB/branches/3.4/NEWS.txt
  U   ZODB/branches/3.4/src/ZEO/tests/InvalidationTests.py
  U   ZODB/branches/3.4/src/ZODB/Connection.py
  U   ZODB/branches/3.4/src/ZODB/DB.py
  U   ZODB/branches/3.4/src/ZODB/ExportImport.py
  U   ZODB/branches/3.4/src/ZODB/interfaces.py
  U   ZODB/branches/3.4/src/ZODB/persistentclass.txt
  U   ZODB/branches/3.4/src/ZODB/tests/synchronizers.txt
  U   ZODB/branches/3.4/src/ZODB/tests/testZODB.py
  U   ZODB/branches/3.4/src/ZODB/tests/testmvcc.py
  U   ZODB/branches/3.4/src/transaction/interfaces.py
  U   ZODB/branches/3.4/src/transaction/tests/test_transaction.py

-=-
Modified: ZODB/branches/3.4/NEWS.txt
===================================================================
--- ZODB/branches/3.4/NEWS.txt	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/NEWS.txt	2005-05-27 18:07:18 UTC (rev 30534)
@@ -1,4 +1,4 @@
-What's new in ZODB3 3.4b3?
+What's new in ZODB3 3.4b4?
 ==========================
 Release date: DD-MMM-2005
 
@@ -6,8 +6,25 @@
 ongoing Zope 2.8 and Zope3 development) since the last public ZODB 3.4
 release.  These are the dates of the internal releases:
 
+- 3.4b3 27-May-2005
 - 3.4b2 26-May-2005
 
+Connection, DB
+--------------
+
+- (3.4b3) ``.transaction_manager`` is now a public attribute of
+  IDataManager, and is the instance of ITransactionManager used by the
+  data manager as its transaction manager.  There was previously no way
+  to ask a data manager which transaction manager it was using.  It's
+  intended that ``transaction_manager`` be treated as read-only.
+
+- (3.4b3) For sanity, the ``txn_mgr`` argument to ``DB.open()``,
+  ``Connection.__init__()``, and ``Connection._setDB()`` has been renamed
+  to ``transaction_manager``.  ``txn_mgr`` is still accepted, but is
+  deprecated and will be removed in ZODB 3.6.  Any code that was using
+  the private ``._txn_mgr`` attribute of ``Connection`` will break
+  immediately.
+
 Development
 -----------
 
@@ -940,20 +957,21 @@
 and is an explicit replacement for the ``Connection.setLocalTransaction()``
 method:
 
-A transaction manager instance can be passed as the txn_mgr argument to
-``DB.open()``.  If you do, the connection will use the specified
+A transaction manager instance can be passed as the transaction_manager
+argument to ``DB.open()``.  If you do, the connection will use the specified
 transaction manager instead of the default TM.  The current transaction is
 obtained by calling ``get()`` on a TM. For example:
 
     >>> tm = transaction.TransactionManager()
-    >>> cn = db.open(txn_mgr=tm)
+    >>> cn = db.open(transaction_manager=tm)
     [...]
     >>> tm.get().commit()
 
 The ``setLocalTransaction()`` and ``getTransaction()`` methods of
-Connection are deprecated.  Use an explicit TM passed via ``txn_mgr=`` to
-``DB.open()`` instead.  The ``setLocalTransaction()`` method still works,
-but it returns a TM instead of a Transaction.
+Connection are deprecated.  Use an explicit TM passed via
+``transaction_manager=`` to ``DB.open()`` instead.  The
+``setLocalTransaction()`` method still works, but it returns a TM instead of
+a Transaction.
 
 A TM creates Transaction objects, which are used for exactly one
 transaction.  Transaction objects still have ``commit()``, ``abort()``,

Modified: ZODB/branches/3.4/src/ZEO/tests/InvalidationTests.py
===================================================================
--- ZODB/branches/3.4/src/ZEO/tests/InvalidationTests.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZEO/tests/InvalidationTests.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -73,7 +73,7 @@
         self.sleep = sleep
         self.added_keys = []
         self.tm = transaction.TransactionManager()
-        self.cn = self.db.open(txn_mgr=self.tm)
+        self.cn = self.db.open(transaction_manager=self.tm)
         self.cn.sync()
 
     def doStep(self):

Modified: ZODB/branches/3.4/src/ZODB/Connection.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/Connection.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/Connection.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -74,9 +74,20 @@
     # Connection methods, ZODB.IConnection
 
     def __init__(self, version='', cache_size=400,
-                 cache_deactivate_after=None, mvcc=True, txn_mgr=None,
+                 cache_deactivate_after=None, mvcc=True,
+                 txn_mgr=DEPRECATED_ARGUMENT,
+                 transaction_manager=None,
                  synch=True):
         """Create a new Connection."""
+
+        if txn_mgr is not DEPRECATED_ARGUMENT:
+            deprecated36("use transaction_manager= instead of txn_mgr=")
+            if transaction_manager is None:
+                transaction_manager = txn_mgr
+            else:
+                raise ValueError("cannot specify both transaction_manager= "
+                                 "and txn_mgr=")
+
         self._log = logging.getLogger("ZODB.Connection")
         self._debug_info = ()
         self._opened = None # time.time() when DB.open() opened us
@@ -110,7 +121,8 @@
         # If a transaction manager is passed to the constructor, use
         # it instead of the global transaction manager.  The instance
         # variable will hold a TM instance.
-        self._txn_mgr = txn_mgr or transaction.manager
+        self.transaction_manager = transaction_manager or transaction.manager
+
         # _synch is a boolean; if True, the Connection will register
         # with the TM to receive afterCompletion() calls.
         self._synch = synch
@@ -248,7 +260,7 @@
         # Return the connection to the pool.
         if self._db is not None:
             if self._synch:
-                self._txn_mgr.unregisterSynch(self)
+                self.transaction_manager.unregisterSynch(self)
             self._db._closeConnection(self)
             # _closeConnection() set self._db to None.  However, we can't
             # assert that here, because self may have been reused (by
@@ -296,7 +308,7 @@
 
     def sync(self):
         """Manually update the view on the database."""
-        self._txn_mgr.abort()
+        self.transaction_manager.abort()
         self._storage_sync()
 
     def getDebugInfo(self):
@@ -831,7 +843,7 @@
         # to the object.
 
         if self._needs_to_join:
-            self._txn_mgr.get().join(self)
+            self.transaction_manager.get().join(self)
             self._needs_to_join = False
 
         if obj is not None:
@@ -855,7 +867,8 @@
         # return a list of [ghosts....not recently used.....recently used]
         return everything.items() + items
 
-    def _setDB(self, odb, mvcc=None, txn_mgr=None, synch=None):
+    def _setDB(self, odb, mvcc=None, txn_mgr=DEPRECATED_ARGUMENT,
+               transaction_manager=None, synch=None):
         """Register odb, the DB that this Connection uses.
 
         This method is called by the DB every time a Connection
@@ -868,12 +881,20 @@
         Parameters:
         odb: database that owns the Connection
         mvcc: boolean indicating whether MVCC is enabled
-        txn_mgr: transaction manager to use.  None means
-            used the default transaction manager.
+        transaction_manager: transaction manager to use.  None means
+            use the default transaction manager.
         synch: boolean indicating whether Connection should
         register for afterCompletion() calls.
         """
 
+        if txn_mgr is not DEPRECATED_ARGUMENT:
+            deprecated36("use transaction_manager= instead of txn_mgr=")
+            if transaction_manager is None:
+                transaction_manager = txn_mgr
+            else:
+                raise ValueError("cannot specify both transaction_manager= "
+                                 "and txn_mgr=")
+
         # TODO:  Why do we go to all the trouble of setting _db and
         # other attributes on open and clearing them on close?
         # A Connection is only ever associated with a single DB
@@ -887,14 +908,14 @@
             self._synch = synch
         if mvcc is not None:
             self._mvcc = mvcc
-        self._txn_mgr = txn_mgr or transaction.manager
+        self.transaction_manager = transaction_manager or transaction.manager
         if self._reset_counter != global_reset_counter:
             # New code is in place.  Start a new cache.
             self._resetCache()
         else:
             self._flush_invalidations()
         if self._synch:
-            self._txn_mgr.registerSynch(self)
+            self.transaction_manager.registerSynch(self)
         self._reader = ObjectReader(self, self._cache, self._db.classFactory)
 
         # Multi-database support
@@ -972,8 +993,10 @@
         to control which TM the Connection uses.
         """
         deprecated36("getTransaction() is deprecated. "
-                     "Use the txn_mgr argument to DB.open() instead.")
-        return self._txn_mgr.get()
+                     "Use the transaction_manager argument "
+                     "to DB.open() instead, or access "
+                     ".transaction_manager directly on the Connection.")
+        return self.transaction_manager.get()
 
     def setLocalTransaction(self):
         """Use a transaction bound to the connection rather than the thread.
@@ -985,14 +1008,15 @@
         which TM the Connection uses.
         """
         deprecated36("setLocalTransaction() is deprecated. "
-                     "Use the txn_mgr argument to DB.open() instead.")
-        if self._txn_mgr is transaction.manager:
+                     "Use the transaction_manager argument "
+                     "to DB.open() instead.")
+        if self.transaction_manager is transaction.manager:
             if self._synch:
-                self._txn_mgr.unregisterSynch(self)
-            self._txn_mgr = transaction.TransactionManager()
+                self.transaction_manager.unregisterSynch(self)
+            self.transaction_manager = transaction.TransactionManager()
             if self._synch:
-                self._txn_mgr.registerSynch(self)
-        return self._txn_mgr
+                self.transaction_manager.registerSynch(self)
+        return self.transaction_manager
 
     # DEPRECATED methods
     ##########################################################################

Modified: ZODB/branches/3.4/src/ZODB/DB.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/DB.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/DB.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -497,7 +497,8 @@
     def open(self, version='',
              transaction=DEPRECATED_ARGUMENT, temporary=DEPRECATED_ARGUMENT,
              force=DEPRECATED_ARGUMENT, waitflag=DEPRECATED_ARGUMENT,
-             mvcc=True, txn_mgr=None, synch=True):
+             mvcc=True, txn_mgr=DEPRECATED_ARGUMENT,
+             transaction_manager=None, synch=True):
         """Return a database Connection for use by application code.
 
         The optional `version` argument can be used to specify that a
@@ -511,8 +512,8 @@
           - `version`: the "version" that all changes will be made
              in, defaults to no version.
           - `mvcc`: boolean indicating whether MVCC is enabled
-          - `txn_mgr`: transaction manager to use.  None means
-             used the default transaction manager.
+          - `transaction_manager`: transaction manager to use.  None means
+             use the default transaction manager.
           - `synch`: boolean indicating whether Connection should
              register for afterCompletion() calls.
         """
@@ -532,6 +533,14 @@
         if transaction is not DEPRECATED_ARGUMENT:
             deprecated36("DB.open() transaction= ignored.")
 
+        if txn_mgr is not DEPRECATED_ARGUMENT:
+            deprecated36("use transaction_manager= instead of txn_mgr=")
+            if transaction_manager is None:
+                transaction_manager = txn_mgr
+            else:
+                raise ValueError("cannot specify both transaction_manager= "
+                                 "and txn_mgr=")
+
         self._a()
         try:
             # pool <- the _ConnectionPool for this version
@@ -551,14 +560,15 @@
                     size = self._version_cache_size
                 else:
                     size = self._cache_size
-                c = self.klass(version=version, cache_size=size,
-                               mvcc=mvcc, txn_mgr=txn_mgr)
+                c = self.klass(version=version, cache_size=size, mvcc=mvcc,
+                               transaction_manager=transaction_manager)
                 pool.push(c)
                 result = pool.pop()
             assert result is not None
 
             # Tell the connection it belongs to self.
-            result._setDB(self, mvcc=mvcc, txn_mgr=txn_mgr, synch=synch)
+            result._setDB(self, mvcc=mvcc, synch=synch,
+                          transaction_manager=transaction_manager)
 
             # A good time to do some cache cleanup.
             self._connectionMap(lambda c: c.cacheGC())

Modified: ZODB/branches/3.4/src/ZODB/ExportImport.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/ExportImport.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/ExportImport.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -65,7 +65,7 @@
                 return customImporters[magic](self, f, clue)
             raise ExportError("Invalid export header")
 
-        t = self._txn_mgr.get()
+        t = self.transaction_manager.get()
         if clue:
             t.note(clue)
 

Modified: ZODB/branches/3.4/src/ZODB/interfaces.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/interfaces.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/interfaces.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -113,7 +113,8 @@
     """
 
     def __init__(version='', cache_size=400,
-                 cache_deactivate_after=None, mvcc=True, txn_mgr=None,
+                 cache_deactivate_after=None, mvcc=True,
+                 transaction_manager=None,
                  synch=True):
         """Create a new Connection.
 
@@ -126,8 +127,8 @@
         cache_size: the target size of the in-memory object cache, measured
             in objects.
         mvcc: boolean indicating whether MVCC is enabled
-        txn_mgr: transaction manager to use. None means used the default
-            transaction manager.
+        transaction_manager: transaction manager to use.  None means use the
+            default transaction manager.
         synch: boolean indicating whether Connection should register for
             afterCompletion() calls.
         """

Modified: ZODB/branches/3.4/src/ZODB/persistentclass.txt
===================================================================
--- ZODB/branches/3.4/src/ZODB/persistentclass.txt	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/persistentclass.txt	2005-05-27 18:07:18 UTC (rev 30534)
@@ -82,7 +82,7 @@
 
     >>> import transaction
     >>> tm = transaction.TransactionManager()
-    >>> connection = some_database.open(txn_mgr=tm)
+    >>> connection = some_database.open(transaction_manager=tm)
     >>> connection.root()['C'] = C
     >>> tm.commit()
 
@@ -128,7 +128,7 @@
 We can open another connection and access the class there.
 
     >>> tm2 = transaction.TransactionManager()
-    >>> connection2 = some_database.open(txn_mgr=tm2)
+    >>> connection2 = some_database.open(transaction_manager=tm2)
 
     >>> C2 = connection2.root()['C']
     >>> c2 = C2('other')
@@ -248,8 +248,8 @@
 connection pool:
 
     >>> old = connection, connection2
-    >>> connection = some_database.open(txn_mgr=tm)
-    >>> connection2 = some_database.open(txn_mgr=tm2)
+    >>> connection = some_database.open(transaction_manager=tm)
+    >>> connection2 = some_database.open(transaction_manager=tm2)
    
 Now, we can read the object:
 

Modified: ZODB/branches/3.4/src/ZODB/tests/synchronizers.txt
===================================================================
--- ZODB/branches/3.4/src/ZODB/tests/synchronizers.txt	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/tests/synchronizers.txt	2005-05-27 18:07:18 UTC (rev 30534)
@@ -69,7 +69,7 @@
     >>> tm = transaction.ThreadTransactionManager()
     >>> st.sync_called = False
     >>> dummy = tm.begin()  # we're doing this _before_ opening a connection
-    >>> cn = db.open(txn_mgr=tm)
+    >>> cn = db.open(transaction_manager=tm)
     >>> rt = cn.root()      # make a change
     >>> rt['c'] = 3
     >>> st.sync_called
@@ -88,7 +88,7 @@
     >>> tm = transaction.TransactionManager()
     >>> st.sync_called = False
     >>> dummy = tm.begin()  # we're doing this _before_ opening a connection
-    >>> cn = db.open(txn_mgr=tm)
+    >>> cn = db.open(transaction_manager=tm)
     >>> rt = cn.root()      # make a change
     >>> rt['d'] = 4
     >>> st.sync_called

Modified: ZODB/branches/3.4/src/ZODB/tests/testZODB.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/tests/testZODB.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/tests/testZODB.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -172,9 +172,9 @@
         # Test of transactions that apply to only the connection,
         # not the thread.
         tm1 = transaction.TransactionManager()
-        conn1 = self._db.open(txn_mgr=tm1)
+        conn1 = self._db.open(transaction_manager=tm1)
         tm2 = transaction.TransactionManager()
-        conn2 = self._db.open(txn_mgr=tm2)
+        conn2 = self._db.open(transaction_manager=tm2)
         try:
             r1 = conn1.root()
             r2 = conn2.root()
@@ -246,10 +246,13 @@
                 self.assert_(msg in [
                     "This will be removed in ZODB 3.6:\n"
                         "setLocalTransaction() is deprecated. "
-                        "Use the txn_mgr argument to DB.open() instead.",
+                        "Use the transaction_manager argument "
+                        "to DB.open() instead.",
                     "This will be removed in ZODB 3.6:\n"
                         "getTransaction() is deprecated. "
-                        "Use the txn_mgr argument to DB.open() instead."])
+                        "Use the transaction_manager argument "
+                        "to DB.open() instead, or access "
+                        ".transaction_manager directly on the Connection."])
         finally:
             conn1.close()
             conn2.close()
@@ -267,7 +270,7 @@
         # consistent with the objects read earlier in the transaction.
 
         tm1 = transaction.TransactionManager()
-        conn = self._db.open(mvcc=False, txn_mgr=tm1)
+        conn = self._db.open(mvcc=False, transaction_manager=tm1)
         r1 = conn.root()
         r1["p"] = self.obj
         self.obj.child1 = P()
@@ -275,7 +278,7 @@
 
         # start a new transaction with a new connection
         tm2 = transaction.TransactionManager()
-        cn2 = self._db.open(mvcc=False, txn_mgr=tm2)
+        cn2 = self._db.open(mvcc=False, transaction_manager=tm2)
         # start a new transaction with the other connection
         r2 = cn2.root()
 
@@ -324,7 +327,7 @@
 
         # load some objects from one connection
         tm = transaction.TransactionManager()
-        cn2 = self._db.open(mvcc=False, txn_mgr=tm)
+        cn2 = self._db.open(mvcc=False, transaction_manager=tm)
         r2 = cn2.root()
         real_data2 = r2["real_data"]
         index2 = r2["index"]
@@ -374,7 +377,7 @@
         # root --> "p" -> value = 1
         #      --> "q" -> value = 2
         tm1 = transaction.TransactionManager()
-        conn = self._db.open(txn_mgr=tm1)
+        conn = self._db.open(transaction_manager=tm1)
         r1 = conn.root()
         p = P()
         p.value = 1
@@ -390,7 +393,7 @@
 
         # Start new txn T2 with a new connection.
         tm2 = transaction.TransactionManager()
-        cn2 = self._db.open(txn_mgr=tm2)
+        cn2 = self._db.open(transaction_manager=tm2)
         r2 = cn2.root()
         p2 = r2["p"]
         self.assertEqual(p._p_oid, p2._p_oid)
@@ -438,7 +441,7 @@
 
         # Provoke a ReadConflictError.
         tm2 = transaction.TransactionManager()
-        cn2 = self._db.open(mvcc=False, txn_mgr=tm2)
+        cn2 = self._db.open(mvcc=False, transaction_manager=tm2)
         r2 = cn2.root()
         data2 = r2["data"]
 

Modified: ZODB/branches/3.4/src/ZODB/tests/testmvcc.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/tests/testmvcc.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/ZODB/tests/testmvcc.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -43,7 +43,7 @@
 
 >>> import transaction
 >>> tm1 = transaction.TransactionManager()
->>> cn1 = db.open(txn_mgr=tm1)
+>>> cn1 = db.open(transaction_manager=tm1)
 
 The test will just use some MinPO objects.  The next few lines just
 setup an initial database state.
@@ -57,7 +57,7 @@
 Now open a second connection.
 
 >>> tm2 = transaction.TransactionManager()
->>> cn2 = db.open(txn_mgr=tm2)
+>>> cn2 = db.open(transaction_manager=tm2)
 
 Connection high-water mark
 --------------------------
@@ -281,7 +281,7 @@
 
 >>> ts = TestStorage()
 >>> db = DB(ts)
->>> cn1 = db.open(txn_mgr=tm1)
+>>> cn1 = db.open(transaction_manager=tm1)
 >>> r1 = cn1.root()
 >>> r1["a"] = MinPO(0)
 >>> r1["b"] = MinPO(0)
@@ -318,7 +318,7 @@
 
 >>> ts = TestStorage()
 >>> db = DB(ts)
->>> cn1 = db.open(txn_mgr=tm1)
+>>> cn1 = db.open(transaction_manager=tm1)
 >>> r1 = cn1.root()
 >>> r1["a"] = MinPO(0)
 >>> r1["b"] = MinPO(0)

Modified: ZODB/branches/3.4/src/transaction/interfaces.py
===================================================================
--- ZODB/branches/3.4/src/transaction/interfaces.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/transaction/interfaces.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -226,6 +226,14 @@
     the transaction.
     """
 
+    transaction_manager = zope.interface.Attribute(
+        """The transaction manager (TM) used by this data manager.
+
+        This is a public attribute, intended for read-only use.  The value
+        is an instance of ITransactionManager, typically set by the data
+        manager's constructor.
+        """)
+
     def abort(transaction):
         """Abort a transaction and forget all changes.
 

Modified: ZODB/branches/3.4/src/transaction/tests/test_transaction.py
===================================================================
--- ZODB/branches/3.4/src/transaction/tests/test_transaction.py	2005-05-27 15:58:44 UTC (rev 30533)
+++ ZODB/branches/3.4/src/transaction/tests/test_transaction.py	2005-05-27 18:07:18 UTC (rev 30534)
@@ -46,11 +46,11 @@
 class TransactionTests(unittest.TestCase):
 
     def setUp(self):
-        self.txn_mgr = transaction.TransactionManager()
-        self.sub1 = DataObject(self.txn_mgr)
-        self.sub2 = DataObject(self.txn_mgr)
-        self.sub3 = DataObject(self.txn_mgr)
-        self.nosub1 = DataObject(self.txn_mgr, nost=1)
+        mgr = self.transaction_manager = transaction.TransactionManager()
+        self.sub1 = DataObject(mgr)
+        self.sub2 = DataObject(mgr)
+        self.sub3 = DataObject(mgr)
+        self.nosub1 = DataObject(mgr, nost=1)
 
     # basic tests with two sub trans jars
     # really we only need one, so tests for
@@ -60,7 +60,7 @@
         self.sub1.modify()
         self.sub2.modify()
 
-        self.txn_mgr.commit()
+        self.transaction_manager.commit()
 
         assert self.sub1._p_jar.ccommit_sub == 0
         assert self.sub1._p_jar.ctpc_finish == 1
@@ -70,13 +70,13 @@
         self.sub1.modify()
         self.sub2.modify()
 
-        self.txn_mgr.abort()
+        self.transaction_manager.abort()
 
         assert self.sub2._p_jar.cabort == 1
 
     def testTransactionNote(self):
 
-        t = self.txn_mgr.get()
+        t = self.transaction_manager.get()
 
         t.note('This is a note.')
         self.assertEqual(t.description, 'This is a note.')
@@ -92,7 +92,7 @@
 
         self.nosub1.modify()
 
-        self.txn_mgr.commit()
+        self.transaction_manager.commit()
 
         assert self.nosub1._p_jar.ctpc_finish == 1
 
@@ -100,7 +100,7 @@
 
         self.nosub1.modify()
 
-        self.txn_mgr.abort()
+        self.transaction_manager.abort()
 
         assert self.nosub1._p_jar.ctpc_finish == 0
         assert self.nosub1._p_jar.cabort == 1
@@ -123,7 +123,7 @@
         self.sub1.modify(tracing='sub')
         self.nosub1.modify(tracing='nosub')
 
-        self.txn_mgr.commit(1)
+        self.transaction_manager.commit(1)
 
         assert self.sub1._p_jar.ctpc_finish == 1
 
@@ -131,7 +131,7 @@
         # in a subtrans
         assert self.nosub1._p_jar.ctpc_finish == 0
 
-        self.txn_mgr.abort()
+        self.transaction_manager.abort()
 
         assert self.nosub1._p_jar.cabort == 1
         assert self.sub1._p_jar.cabort_sub == 1
@@ -156,7 +156,7 @@
         self.sub2.modify()
 
         try:
-            self.txn_mgr.abort()
+            self.transaction_manager.abort()
         except TestTxnException: pass
 
         assert self.nosub1._p_jar.cabort == 1
@@ -170,7 +170,7 @@
         self.sub1.modify(nojar=1)
 
         try:
-            self.txn_mgr.commit()
+            self.transaction_manager.commit()
         except TestTxnException: pass
 
         assert self.nosub1._p_jar.ctpc_finish == 0
@@ -185,7 +185,7 @@
         self.sub1.modify(nojar=1)
 
         try:
-            self.txn_mgr.commit()
+            self.transaction_manager.commit()
         except TestTxnException: pass
 
         assert self.nosub1._p_jar.ctpc_finish == 0
@@ -211,7 +211,7 @@
         self.sub1.modify(nojar=1)
 
         try:
-            self.txn_mgr.commit()
+            self.transaction_manager.commit()
         except TestTxnException: pass
 
         assert self.nosub1._p_jar.ctpc_abort == 1
@@ -225,7 +225,7 @@
         self.sub1.modify(nojar=1)
 
         try:
-            self.txn_mgr.commit()
+            self.transaction_manager.commit()
         except TestTxnException:
             pass
 
@@ -266,8 +266,8 @@
 
 class DataObject:
 
-    def __init__(self, txn_mgr, nost=0):
-        self.txn_mgr = txn_mgr
+    def __init__(self, transaction_manager, nost=0):
+        self.transaction_manager = transaction_manager
         self.nost = nost
         self._p_jar = None
 
@@ -277,7 +277,7 @@
                 self._p_jar = NoSubTransactionJar(tracing=tracing)
             else:
                 self._p_jar = SubTransactionJar(tracing=tracing)
-        self.txn_mgr.get().join(self._p_jar)
+        self.transaction_manager.get().join(self._p_jar)
 
 class TestTxnException(Exception):
     pass



More information about the Zodb-checkins mailing list