diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-17 00:21:25 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-17 00:21:25 +0000 |
| commit | b81a0132a84a54559b7dbce075988dec62ed7da7 (patch) | |
| tree | e967111fa6de4c2c9b43338fb13c5bc06a5b23aa /lib/sqlalchemy/engine/base.py | |
| parent | 86fef1e4593a6c25e83b2aca7577c62bec9fa2a9 (diff) | |
| download | sqlalchemy-b81a0132a84a54559b7dbce075988dec62ed7da7.tar.gz | |
added "recreate()" argument to connection pool classes
this method is called when the invalidate() occurs for a disconnect condition,
so that the entire pool is recreated, thereby avoiding repeat errors on
remaining connections in the pool.
dispose() called as well (also fixed up) but cant guarantee all connections closed.
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 6f0ff029a..e7a3f8feb 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -577,6 +577,7 @@ class Connection(Connectable): except Exception, e: if self.dialect.is_disconnect(e): self.__connection.invalidate(e=e) + self.engine.connection_provider.dispose() self._autorollback() if self.__close_with_result: self.close() @@ -588,6 +589,7 @@ class Connection(Connectable): except Exception, e: if self.dialect.is_disconnect(e): self.__connection.invalidate(e=e) + self.engine.connection_provider.dispose() self._autorollback() if self.__close_with_result: self.close() |
