summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool/impl.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-09-14 10:14:48 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2020-09-14 11:36:31 -0400
commit3d803a8ed3e07332dff872180680bed6175dd483 (patch)
tree7f69ce4a2c4181d7956cc9f527ef73931431abba /lib/sqlalchemy/pool/impl.py
parent056c929e15c735059b2f17f9ae5391d3ad244907 (diff)
downloadsqlalchemy-3d803a8ed3e07332dff872180680bed6175dd483.tar.gz
Pass all pool parameters in recreate()
The following pool parameters were not being propagated to the new pool created when :meth:`_engine.Engine.dispose` were called: ``pre_ping``, ``use_lifo``. Additionally the ``recycle`` and ``reset_on_return`` parameters were not propagated for the :class:`_engine.AssertionPool` class. These issues have been fixed. Fixes: #5582 Change-Id: Ifdb703aa7e849652242b9ff8071c854cd1d77e71
Diffstat (limited to 'lib/sqlalchemy/pool/impl.py')
-rw-r--r--lib/sqlalchemy/pool/impl.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/pool/impl.py b/lib/sqlalchemy/pool/impl.py
index e1a9f00db..a6c0cf104 100644
--- a/lib/sqlalchemy/pool/impl.py
+++ b/lib/sqlalchemy/pool/impl.py
@@ -168,6 +168,8 @@ class QueuePool(Pool):
self._creator,
pool_size=self._pool.maxsize,
max_overflow=self._max_overflow,
+ pre_ping=self._pre_ping,
+ use_lifo=self._pool.use_lifo,
timeout=self._timeout,
recycle=self._recycle,
echo=self.echo,
@@ -252,6 +254,7 @@ class NullPool(Pool):
echo=self.echo,
logging_name=self._orig_logging_name,
reset_on_return=self._reset_on_return,
+ pre_ping=self._pre_ping,
_dispatch=self.dispatch,
dialect=self._dialect,
)
@@ -305,6 +308,7 @@ class SingletonThreadPool(Pool):
pool_size=self.size,
recycle=self._recycle,
echo=self.echo,
+ pre_ping=self._pre_ping,
logging_name=self._orig_logging_name,
reset_on_return=self._reset_on_return,
_dispatch=self.dispatch,
@@ -406,6 +410,7 @@ class StaticPool(Pool):
creator=self._creator,
recycle=self._recycle,
reset_on_return=self._reset_on_return,
+ pre_ping=self._pre_ping,
echo=self.echo,
logging_name=self._orig_logging_name,
_dispatch=self.dispatch,
@@ -459,6 +464,9 @@ class AssertionPool(Pool):
return self.__class__(
self._creator,
echo=self.echo,
+ pre_ping=self._pre_ping,
+ recycle=self._recycle,
+ reset_on_return=self._reset_on_return,
logging_name=self._orig_logging_name,
_dispatch=self.dispatch,
dialect=self._dialect,