summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-04-22 19:35:16 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-04-22 19:35:16 -0400
commitb957cdbd945fd20d06a7b521c0b45e50b016d294 (patch)
tree92942437d041aafdf6108e50fa08bac90f689b37
parentfa88d0e8ffbec9f434e99a34cc5e3e0d3f88c04e (diff)
downloadsqlalchemy-b957cdbd945fd20d06a7b521c0b45e50b016d294.tar.gz
- fixes for some tests, staticpool
-rw-r--r--lib/sqlalchemy/pool.py14
-rw-r--r--lib/sqlalchemy/testing/engines.py2
-rw-r--r--test/engine/test_execute.py2
3 files changed, 7 insertions, 11 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py
index debcc9245..58775d7f4 100644
--- a/lib/sqlalchemy/pool.py
+++ b/lib/sqlalchemy/pool.py
@@ -214,7 +214,8 @@ class Pool(log.Identified):
log.instance_logger(self, echoflag=echo)
self._threadconns = threading.local()
- self._creator = self._maybe_wrap_callable(creator)
+ self._creator = creator
+ self._wrapped_creator = self._maybe_wrap_callable(creator)
self._recycle = recycle
self._invalidate_time = 0
self._use_threadlocal = use_threadlocal
@@ -581,7 +582,7 @@ class _ConnectionRecord(object):
def __connect(self):
try:
self.starttime = time.time()
- connection = self.__pool._creator(self)
+ connection = self.__pool._wrapped_creator(self)
self.__pool.logger.debug("Created new connection %r", connection)
return connection
except Exception as e:
@@ -1137,10 +1138,6 @@ class StaticPool(Pool):
@memoized_property
def _conn(self):
- return self._creator()
-
- @memoized_property
- def connection(self):
return _ConnectionRecord(self)
def status(self):
@@ -1148,8 +1145,7 @@ class StaticPool(Pool):
def dispose(self):
if '_conn' in self.__dict__:
- self._conn.close()
- self._conn = None
+ self._conn.connection.close()
def recreate(self):
self.logger.info("Pool recreating")
@@ -1169,7 +1165,7 @@ class StaticPool(Pool):
pass
def _do_get(self):
- return self.connection
+ return self._conn.connection
class AssertionPool(Pool):
diff --git a/lib/sqlalchemy/testing/engines.py b/lib/sqlalchemy/testing/engines.py
index 3a8303546..bfd61ff39 100644
--- a/lib/sqlalchemy/testing/engines.py
+++ b/lib/sqlalchemy/testing/engines.py
@@ -307,7 +307,7 @@ class DBAPIProxyConnection(object):
"""
def __init__(self, engine, cursor_cls):
- self.conn = self._sqla_unwrap = engine.pool._creator()
+ self.conn = self._sqla_unwrap = engine.pool._wrapped_creator(None)
self.engine = engine
self.cursor_cls = cursor_cls
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
index 761ac102a..cba3972f6 100644
--- a/test/engine/test_execute.py
+++ b/test/engine/test_execute.py
@@ -2174,7 +2174,7 @@ class HandleInvalidatedOnConnectTest(fixtures.TestBase):
conn.invalidate()
- eng.pool._creator = Mock(
+ eng.pool._wrapped_creator = Mock(
side_effect=self.ProgrammingError(
"Cannot operate on a closed database."))