XA Xid to PostgreSQL transaction ID

From: Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: XA Xid to PostgreSQL transaction ID
Date: 2010-10-14 13:15:30
Message-ID: AANLkTikWBOaQ+2GXsGa2Mbq46mDK8CgwcU7yVkpkcVEg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello,

I have implemented two-phase commit into the Python PostgreSQL driver
psycopg2. As the Python DBAPI is XA inspired, the transaction IDs it
demands to handle are composed by triples (format_id, gtrid, bqual).
PostgreSQL instead asks for plain strings as transaction IDs.

I'd like to implement the mapping algorithm exactly the way the JDBC
driver does, as it would allow tools written in Python to interoperate
to ones written in Java and understand each other the XA components of
the transaction IDs.

I've found the implementation of the mapping in JDBC in [1] and I've
reimplemented it. I'd like to double check that the results actually
match.

As a test I have in the test suite the triple (42, 'gtrid', 'bqual')
is converted into the string '42_Z3RyaWQ=_YnF1YWw=': I'd like to know,
if possible, if this is the same result obtained by the JDBC driver.
Alternatively, if you can provide me one or more known triple ->
string transformation examples, I can check them and add them to the
test suite.

Thank you very much. Best regards.

-- Daniele

[1] http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/xa/RecoveredXid.java?rev=1.2

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Robert Haas 2010-10-14 15:28:25 Re: [JDBC] Support for JDBC setQueryTimeout, et al.
Previous Message Kevin Grittner 2010-10-14 12:55:22 Re: [JDBC] Support for JDBC setQueryTimeout, et al.