Yup, get_transaction() was officially deprecated in ZODB 3.4, and removed in ZODB 3.6 (which Zope 2.9 uses). From ZODB 3.6 news:
"""
Removal of Features Deprecated in ZODB 3.4
------------------------------------------
(3.6b2) ZODB 3.6 no longer contains features officially deprecated in the ZODB 3.4 release. These include:
- ``get_transaction()``. Use ``transaction.get()`` instead. ``transaction.commit()`` is a shortcut spelling of ``transaction.get().commit()``, and ``transaction.abort()`` of ``transaction.get().abort()``. Note that importing ZODB no longer installs ``get_transaction`` as a name in Python's ``__builtin__`` module either.
- The ``begin()`` method of ``Transaction`` objects. Use the ``begin()`` method of a transaction manager instead. ``transaction.begin()`` is a shortcut spelling to call the default transaction manager's ``begin()`` method.
- The ``dt`` argument to ``Connection.cacheMinimize()``.
- The ``Connection.cacheFullSweep()`` method. Use ``cacheMinimize()`` instead.
- The ``Connection.getTransaction()`` method. Pass a transaction manager to ``DB.open()`` instead.
- The ``Connection.getLocalTransaction()`` method. Pass a transaction manager to ``DB.open()`` instead.
- The ``cache_deactivate_after`` and ``version_cache_deactivate_after`` arguments to the ``DB`` constructor.
- The ``temporary``, ``force``, and ``waitflag`` arguments to ``DB.open()``. ``DB.open()`` no longer blocks (there's no longer a fixed limit on the number of open connections).
- The ``transaction`` and ``txn_mgr``arguments to ``DB.open()``. Use the ``transaction_manager`` argument instead.
- The ``getCacheDeactivateAfter``, ``setCacheDeactivateAfter``, ``getVersionCacheDeactivateAfter`` and ``setVersionCacheDeactivateAfter`` methods of ``DB``.
"""
Yup, get_transaction() was officially deprecated in ZODB 3.4, and removed in ZODB 3.6 (which Zope 2.9 uses). From ZODB 3.6 news:
""" ------- ------- ------- ------- -------
Removal of Features Deprecated in ZODB 3.4
-------
(3.6b2) ZODB 3.6 no longer contains features officially deprecated in the ZODB 3.4 release. These include:
- ``get_transacti on()``. Use ``transaction. get()`` instead. ``transaction. commit( )`` is a shortcut spelling of ``transaction. get().commit( )``, and ``transaction. abort() `` of ``transaction. get().abort( )``. Note that importing ZODB no longer installs ``get_transaction`` as a name in Python's ``__builtin__`` module either.
- The ``begin()`` method of ``Transaction`` objects. Use the ``begin()`` method of a transaction manager instead. ``transaction. begin() `` is a shortcut spelling to call the default transaction manager's ``begin()`` method.
- The ``dt`` argument to ``Connection. cacheMinimize( )``.
- The ``Connection. cacheFullSweep( )`` method. Use ``cacheMinimize()`` instead.
- The ``Connection. getTransaction( )`` method. Pass a transaction manager to ``DB.open()`` instead.
- The ``Connection. getLocalTransac tion()` ` method. Pass a transaction manager to ``DB.open()`` instead.
- The ``cache_ deactivate_ after`` and ``version_ cache_deactivat e_after` ` arguments to the ``DB`` constructor.
- The ``temporary``, ``force``, and ``waitflag`` arguments to ``DB.open()``. ``DB.open()`` no longer blocks (there's no longer a fixed limit on the number of open connections).
- The ``transaction`` and ``txn_mgr` `arguments to ``DB.open()``. Use the ``transaction_ manager` ` argument instead.
- The ``getCacheDeact ivateAfter` `, ``setCacheDeact ivateAfter` `, ``getVersionCac heDeactivateAft er`` and ``setVersionCac heDeactivateAft er`` methods of ``DB``.
"""