summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/postgresql/pg8000.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/pg8000.py')
-rw-r--r--lib/sqlalchemy/dialects/postgresql/pg8000.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/pg8000.py b/lib/sqlalchemy/dialects/postgresql/pg8000.py
index 68da5b6d7..4ccc90208 100644
--- a/lib/sqlalchemy/dialects/postgresql/pg8000.py
+++ b/lib/sqlalchemy/dialects/postgresql/pg8000.py
@@ -119,7 +119,7 @@ class PGDialect_pg8000(PGDialect):
supports_unicode_binds = True
default_paramstyle = 'format'
- supports_sane_multi_rowcount = False
+ supports_sane_multi_rowcount = True
execution_ctx_cls = PGExecutionContext_pg8000
statement_compiler = PGCompiler_pg8000
preparer = PGIdentifierPreparer_pg8000
@@ -133,6 +133,16 @@ class PGDialect_pg8000(PGDialect):
}
)
+ def initialize(self, connection):
+ if self.dbapi and hasattr(self.dbapi, '__version__'):
+ self._dbapi_version = tuple([
+ int(x) for x in
+ self.dbapi.__version__.split(".")])
+ else:
+ self._dbapi_version = (99, 99, 99)
+ self.supports_sane_multi_rowcount = self._dbapi_version >= (1, 9, 14)
+ super(PGDialect_pg8000, self).initialize(connection)
+
@classmethod
def dbapi(cls):
return __import__('pg8000')
@@ -172,11 +182,9 @@ class PGDialect_pg8000(PGDialect):
)
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(