summaryrefslogtreecommitdiff
path: root/tests/test_connection.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_connection.py')
-rwxr-xr-xtests/test_connection.py13
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;')