summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-12-08 15:15:02 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-12-08 15:15:02 -0500
commit06738f665ea936246a3813ad7de01e98ff8d519a (patch)
tree9f5a09e0d723f477d436636aa31212ecc1a99d8f /lib/sqlalchemy/engine/base.py
parentb7cf11b163dd7d15f56634a41dcceb880821ecf3 (diff)
downloadsqlalchemy-06738f665ea936246a3813ad7de01e98ff8d519a.tar.gz
- identify another spot where _handle_dbapi_error() needs to do something
differently for the case where it is called in an already-invalidated state; don't call upon self.connection
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
-rw-r--r--lib/sqlalchemy/engine/base.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index dd8ea275c..9a8610344 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -1243,9 +1243,10 @@ class Connection(Connectable):
del self._reentrant_error
if self._is_disconnect:
del self._is_disconnect
- dbapi_conn_wrapper = self.connection
- self.engine.pool._invalidate(dbapi_conn_wrapper, e)
- self.invalidate(e)
+ if not self.invalidated:
+ dbapi_conn_wrapper = self.__connection
+ self.engine.pool._invalidate(dbapi_conn_wrapper, e)
+ self.invalidate(e)
if self.should_close_with_result:
self.close()