summaryrefslogtreecommitdiff
path: root/python/skytools/scripting.py
diff options
context:
space:
mode:
authorMarko Kreen2011-12-08 16:15:28 +0000
committerMarko Kreen2011-12-08 16:33:16 +0000
commitb1e3350a364282b22c69236af6a2b5654cae8b28 (patch)
tree20691aa41e602b8cc83a1a0acc7839da4439a47c /python/skytools/scripting.py
parent8227d443103bf209d7a5d60b8dd9cabe8452ac55 (diff)
skytools: seems psycopg2 isolation constants do change
Psycopg 2.4.2 moved them around. Stop hard-coding them, instead import from psycopg2.externsions Also have a symbol for repeatable read.
Diffstat (limited to 'python/skytools/scripting.py')
-rw-r--r--python/skytools/scripting.py23
1 files changed, 6 insertions, 17 deletions
diff --git a/python/skytools/scripting.py b/python/skytools/scripting.py
index 558998c2..ad6a2fd6 100644
--- a/python/skytools/scripting.py
+++ b/python/skytools/scripting.py
@@ -18,7 +18,7 @@ except ImportError:
__pychecker__ = 'no-badexcept'
__all__ = ['BaseScript', 'signal_pidfile', 'UsageError', 'daemonize',
- 'DBScript', 'I_AUTOCOMMIT', 'I_READ_COMMITTED', 'I_SERIALIZABLE']
+ 'DBScript']
class UsageError(Exception):
"""User induced error."""
@@ -637,17 +637,6 @@ class BaseScript(object):
#: how old connections need to be closed
DEF_CONN_AGE = 20*60 # 20 min
-#: isolation level not set
-I_DEFAULT = -1
-
-#: isolation level constant for AUTOCOMMIT
-I_AUTOCOMMIT = 0
-#: isolation level constant for READ COMMITTED
-I_READ_COMMITTED = 1
-#: isolation level constant for SERIALIZABLE
-I_SERIALIZABLE = 2
-
-
class DBScript(BaseScript):
"""Base class for database scripts.
@@ -708,7 +697,7 @@ class DBScript(BaseScript):
elif params.get('autocommit', 0):
params['isolation_level'] = 0
elif not 'isolation_level' in params:
- params['isolation_level'] = I_READ_COMMITTED
+ params['isolation_level'] = skytools.I_READ_COMMITTED
if not 'max_age' in params:
params['max_age'] = max_age
@@ -933,7 +922,7 @@ class DBCachedConn(object):
self.conn_time = 0
self.max_age = max_age
self.autocommit = -1
- self.isolation_level = I_DEFAULT
+ self.isolation_level = -1
self.verbose = verbose
self.setup_func = setup_func
self.listen_channel_list = []
@@ -943,11 +932,11 @@ class DBCachedConn(object):
return None
return self.conn.cursor().fileno()
- def get_connection(self, isolation_level = I_DEFAULT, listen_channel_list = []):
+ def get_connection(self, isolation_level = -1, listen_channel_list = []):
# default isolation_level is READ COMMITTED
if isolation_level < 0:
- isolation_level = I_READ_COMMITTED
+ isolation_level = skytools.I_READ_COMMITTED
# new conn?
if not self.conn:
@@ -978,7 +967,7 @@ class DBCachedConn(object):
for ch in new_clist:
if ch not in self.listen_channel_list:
curs.execute("LISTEN %s" % skytools.quote_ident(ch))
- if self.isolation_level != I_AUTOCOMMIT:
+ if self.isolation_level != skytools.I_AUTOCOMMIT:
self.conn.commit()
self.listen_channel_list = new_clist[:]