summaryrefslogtreecommitdiff
path: root/tests/test_connection.py
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2011-06-03 00:40:54 +0100
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2011-06-03 00:40:54 +0100
commit4d3c6865eea89c99ed67a3a5765932cff5dda514 (patch)
tree2f35b2da9cf856c6d2f6a0d11d710f73637e867b /tests/test_connection.py
parentc2d1f1f2e6832384ca01466cfbefecfa877e6850 (diff)
downloadpsycopg2-4d3c6865eea89c99ed67a3a5765932cff5dda514.tar.gz
Use only the isolation levels available on old PG versions
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;')