Hi, I'm actually using SQLAlchemy with Pyramid and zope.sqlalchemy packages. My main database connection is a ZODB connection and, when required, I create an SQLAlchemy session which is joined to main transaction using this kind of code:
from sqlalchemy.orm import scoped_session, sessionmaker from zope.sqlalchemy import register from zope.sqlalchemy.datamanager import join_transaction _engine = get_engine(engine, use_pool) if use_zope_extension: factory = scoped_session(sessionmaker(bind=_engine, twophase=True)) else: factory = sessionmaker(bind=_engine, twophase=True) session = factory() if use_zope_extension: register(session, initial_state=STATUS_ACTIVE) if join: join_transaction(session, initial_state=STATUS_ACTIVE) Everything is working correctly! So my only question is that I also use Pyramid_debugtoolbar package, which is tracking many SQLAlchemy events, including two-phase commits transactions, and which in this context receives transaction IDs as a three values tuple instead of a simple string (like, for example: (4660, '12345678901234567890123456789012', '00000000000000000000000000000009'), which is raising an exception)! Is it normal behaviour, and what does this value mean? Best regards, Thierry -- https://www.ulthar.net -- http://pyams.readthedocs.io -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/CAPX_VWCwQmHEsynbsSa54%2BvkWH5xkZC_-hh359iM%3D%2BYh1f%3DE6A%40mail.gmail.com.