diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sqlalchemy/pool.py | 7 |
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 |