summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJD White <jdwhite@23andme.com>2014-02-28 15:39:51 -0800
committerJD White <jdwhite@23andme.com>2014-02-28 15:39:51 -0800
commit59fc648c8723c970b66be418531b98502d569cc3 (patch)
tree9213a48b452d410a424dc892b230aef5a43bd06c
parente8d048f10bb5f5239d1fde543c084b17e81a017f (diff)
downloadsqlalchemy-pr/76.tar.gz
In SingletonThreadPool, make sure we do not cleanup a newly created connectionpr/76
-rw-r--r--lib/sqlalchemy/pool.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py
index af9b8fcbc..0186413ea 100644
--- a/lib/sqlalchemy/pool.py
+++ b/lib/sqlalchemy/pool.py
@@ -837,9 +837,10 @@ class SingletonThreadPool(Pool):
pass
c = self._create_connection()
self._conn.current = weakref.ref(c)
- self._all_conns.add(c)
- if len(self._all_conns) > self.size:
- self._cleanup()
+ if c not in self._all_conns:
+ if len(self._all_conns) >= self.size:
+ self._cleanup()
+ self._all_conns.add(c)
return c