diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-09-14 10:14:48 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-09-14 11:36:31 -0400 |
| commit | 3d803a8ed3e07332dff872180680bed6175dd483 (patch) | |
| tree | 7f69ce4a2c4181d7956cc9f527ef73931431abba /lib/sqlalchemy/pool/impl.py | |
| parent | 056c929e15c735059b2f17f9ae5391d3ad244907 (diff) | |
| download | sqlalchemy-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.py | 8 |
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, |
