diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-07-21 11:58:44 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-07-21 11:58:44 -0400 |
commit | c02e95ed33504f2738261e4e80c28382f94d8d51 (patch) | |
tree | 5071449ecc728a42bf69ae1d61493c89642a9afb /lib/sqlalchemy/dialects/postgresql/pg8000.py | |
parent | 72ac9c189248c726e3ed04e5fe2e6b7ec599d24c (diff) | |
download | sqlalchemy-c02e95ed33504f2738261e4e80c28382f94d8d51.tar.gz |
- Fixed bug introduced in 0.9.5 by new pg8000 isolation level feature
where engine-level isolation level parameter would raise an error
on connect. fixes #3134
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/pg8000.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/pg8000.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/pg8000.py b/lib/sqlalchemy/dialects/postgresql/pg8000.py index 512f3e1b0..589567d9e 100644 --- a/lib/sqlalchemy/dialects/postgresql/pg8000.py +++ b/lib/sqlalchemy/dialects/postgresql/pg8000.py @@ -150,10 +150,14 @@ class PGDialect_pg8000(PGDialect): def set_isolation_level(self, connection, level): level = level.replace('_', ' ') + # adjust for ConnectionFairy possibly being present + if hasattr(connection, 'connection'): + connection = connection.connection + if level == 'AUTOCOMMIT': - connection.connection.autocommit = True + connection.autocommit = True elif level in self._isolation_lookup: - connection.connection.autocommit = False + connection.autocommit = False cursor = connection.cursor() cursor.execute( "SET SESSION CHARACTERISTICS AS TRANSACTION " |