summaryrefslogtreecommitdiff
path: root/ZPsycopgDA/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'ZPsycopgDA/db.py')
-rw-r--r--ZPsycopgDA/db.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/ZPsycopgDA/db.py b/ZPsycopgDA/db.py
index fe27931..2d85b21 100644
--- a/ZPsycopgDA/db.py
+++ b/ZPsycopgDA/db.py
@@ -47,12 +47,15 @@ class DB(TM, dbi_db.DB):
self.calls = 0
self.make_mappings()
- def getconn(self, create=True):
+ def getconn(self, init=True):
+ # if init is False we are trying to get hold on an already existing
+ # connection, so we avoid to (re)initialize it risking errors.
conn = pool.getconn(self.dsn)
- conn.set_isolation_level(int(self.tilevel))
- conn.set_client_encoding(self.encoding)
- for tc in self.typecasts:
- register_type(tc, conn)
+ if init:
+ conn.set_isolation_level(int(self.tilevel))
+ conn.set_client_encoding(self.encoding)
+ for tc in self.typecasts:
+ register_type(tc, conn)
return conn
def putconn(self, close=False):