summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/result.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/engine/result.py')
-rw-r--r--lib/sqlalchemy/engine/result.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py
index 7fe09b2c7..2801ca559 100644
--- a/lib/sqlalchemy/engine/result.py
+++ b/lib/sqlalchemy/engine/result.py
@@ -650,7 +650,11 @@ class ResultProxy(object):
self.connection = context.root_connection
self._echo = self.connection._echo and \
context.engine._should_log_debug()
- self._init_metadata()
+ try:
+ self._init_metadata()
+ except:
+ self._soft_close()
+ raise
def _getter(self, key, raiseerr=True):
try: