From: Mike Bayer Date: Fri, 25 Jul 2014 20:17:15 +0000 (-0400) Subject: Merge remote-tracking branch 'origin/pr/117' into pg8000 X-Git-Tag: rel_1_0_0b1~281 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c0efe508f4b02ca69db1f4855f5bfeb936ac9e9;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Merge remote-tracking branch 'origin/pr/117' into pg8000 --- 3c0efe508f4b02ca69db1f4855f5bfeb936ac9e9 diff --cc lib/sqlalchemy/dialects/postgresql/pg8000.py index 589567d9e9,dd63d7ea8a..68da5b6d7c --- a/lib/sqlalchemy/dialects/postgresql/pg8000.py +++ b/lib/sqlalchemy/dialects/postgresql/pg8000.py @@@ -169,6 -165,25 +169,25 @@@ class PGDialect_pg8000(PGDialect) "Invalid value '%s' for isolation_level. " "Valid isolation levels for %s are %s or AUTOCOMMIT" % (level, self.name, ", ".join(self._isolation_lookup)) - ) + ) + def do_begin_twophase(self, connection, xid): + print("begin twophase", xid) + connection.connection.tpc_begin((0, xid, '')) + + def do_prepare_twophase(self, connection, xid): + print("prepare twophase", xid) + connection.connection.tpc_prepare() + + def do_rollback_twophase( + self, connection, xid, is_prepared=True, recover=False): + connection.connection.tpc_rollback((0, xid, '')) + + def do_commit_twophase( + self, connection, xid, is_prepared=True, recover=False): + connection.connection.tpc_commit((0, xid, '')) + + def do_recover_twophase(self, connection): + return [row[1] for row in connection.connection.tpc_recover()] + dialect = PGDialect_pg8000