diff --git a/NEWS b/NEWS index 0eb57030..fa9a2aba 100644 --- a/NEWS +++ b/NEWS @@ -12,7 +12,8 @@ What's new in psycopg 2.4.6 (ticket #113). - 'register_hstore()', 'register_composite()', 'tpc_recover()' work with RealDictConnection and Cursor (ticket #114). - - Fixed broken pool for Zope (tickets #123, #125). + - Fixed broken pool for Zope and connections re-init across ZSQL methods + in the same request (tickets #123, #125, #142). - connect() raises an exception instead of swallowing keyword arguments when a connection string is specified as well (ticket #131). - Discard any result produced by 'executemany()' (ticket #133). diff --git a/ZPsycopgDA/db.py b/ZPsycopgDA/db.py index 971a3566..b594b3fd 100644 --- a/ZPsycopgDA/db.py +++ b/ZPsycopgDA/db.py @@ -71,7 +71,7 @@ class DB(TM, dbi_db.DB): pool.putconn(self.dsn, conn, close) def getcursor(self): - conn = self.getconn() + conn = self.getconn(False) return conn.cursor() def _finish(self, *ignored): @@ -81,7 +81,7 @@ class DB(TM, dbi_db.DB): self.putconn() except AttributeError: pass - + def _abort(self, *ignored): try: conn = self.getconn(False) @@ -95,7 +95,7 @@ class DB(TM, dbi_db.DB): # then get and immediately release a connection self.getconn() self.putconn() - + def close(self): # FIXME: if this connection is closed we flush all the pool associated # with the current DSN; does this makes sense?