summaryrefslogtreecommitdiff
path: root/python/skytools/psycopgwrapper.py
diff options
context:
space:
mode:
authorMarko Kreen2009-10-28 14:00:51 +0000
committerMarko Kreen2009-11-03 12:43:44 +0000
commit001b2a8204f9823279ad97330c8268cfd734cb28 (patch)
treea6186c5b9ef2dbf5fe5ba2371a980d9adc3bdd67 /python/skytools/psycopgwrapper.py
parent7c61751b50809ade03179f3b6ee136e78681013f (diff)
psycopgwrapper: Fill .server_version on older psycopg
This make the parameter always available.
Diffstat (limited to 'python/skytools/psycopgwrapper.py')
-rw-r--r--python/skytools/psycopgwrapper.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/python/skytools/psycopgwrapper.py b/python/skytools/psycopgwrapper.py
index 1c91ea97..0cd053a1 100644
--- a/python/skytools/psycopgwrapper.py
+++ b/python/skytools/psycopgwrapper.py
@@ -113,5 +113,15 @@ def connect_database(connstr):
connstr += " connect_timeout=15"
# create connection
- return _CompatConnection(connstr)
+ db = _CompatConnection(connstr)
+
+ # fill .server_version on older psycopg
+ if not hasattr(db, 'server_version'):
+ iso = db.isolation_level
+ db.set_isolation_level(0)
+ curs = db.cursor()
+ curs.execute('show server_version_num')
+ db.server_version = curs.fetchone()[0]
+ db.set_isolation_level(iso)
+ return db