From 9a2edbf3ebf04bfff3ad2a7214605503d5cdcaa2 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 14 Aug 2011 11:55:32 -0400 Subject: - The recreate() method in all pool classes uses self.__class__ to get at the type of pool to produce, in the case of subclassing. Note there's no usual need to subclass pools. [ticket:2254] --- lib/sqlalchemy/pool.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 2edafbf38..b7011366e 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -512,7 +512,7 @@ class SingletonThreadPool(Pool): def recreate(self): self.logger.info("Pool recreating") - return SingletonThreadPool(self._creator, + return self.__class__(self._creator, pool_size=self.size, recycle=self._recycle, echo=self.echo, @@ -645,7 +645,7 @@ class QueuePool(Pool): def recreate(self): self.logger.info("Pool recreating") - return QueuePool(self._creator, pool_size=self._pool.maxsize, + return self.__class__(self._creator, pool_size=self._pool.maxsize, max_overflow=self._max_overflow, timeout=self._timeout, recycle=self._recycle, echo=self.echo, @@ -759,7 +759,7 @@ class NullPool(Pool): def recreate(self): self.logger.info("Pool recreating") - return NullPool(self._creator, + return self.__class__(self._creator, recycle=self._recycle, echo=self.echo, logging_name=self._orig_logging_name, @@ -851,7 +851,7 @@ class AssertionPool(Pool): def recreate(self): self.logger.info("Pool recreating") - return AssertionPool(self._creator, echo=self.echo, + return self.__class__(self._creator, echo=self.echo, logging_name=self._orig_logging_name, _dispatch=self.dispatch) -- cgit v1.2.1