diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2011-06-03 00:40:54 +0100 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2011-06-03 00:40:54 +0100 |
commit | 4d3c6865eea89c99ed67a3a5765932cff5dda514 (patch) | |
tree | 2f35b2da9cf856c6d2f6a0d11d710f73637e867b /tests/test_connection.py | |
parent | c2d1f1f2e6832384ca01466cfbefecfa877e6850 (diff) | |
download | psycopg2-4d3c6865eea89c99ed67a3a5765932cff5dda514.tar.gz |
Use only the isolation levels available on old PG versions
Diffstat (limited to 'tests/test_connection.py')
-rwxr-xr-x | tests/test_connection.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/test_connection.py b/tests/test_connection.py index 9001457..e62e51e 100755 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -204,14 +204,23 @@ class IsolationLevelsTestCase(unittest.TestCase): conn = self.connect() curs = conn.cursor() - for name, level in ( + levels = ( (None, psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT), ('read uncommitted', psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED), ('read committed', psycopg2.extensions.ISOLATION_LEVEL_READ_COMMITTED), ('repeatable read', psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ), ('serializable', psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE), - ): + ) + for name, level in levels: conn.set_isolation_level(level) + + # the only values available on prehistoric PG versions + if conn.server_version < 80000: + if level in ( + psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED, + psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ): + name, level = levels[levels.index((name, level)) + 1] + self.assertEqual(conn.isolation_level, level) curs.execute('show transaction_isolation;') |