summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-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