]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Recognize more Firebird disconnection cases, fixing #1646 on trunk
authorLele Gaifax <lele@metapensiero.it>
Sun, 27 Dec 2009 18:56:27 +0000 (18:56 +0000)
committerLele Gaifax <lele@metapensiero.it>
Sun, 27 Dec 2009 18:56:27 +0000 (18:56 +0000)
lib/sqlalchemy/dialects/firebird/kinterbasdb.py

index c804af05f1552339bc7445650213b0cdb1346fd7..6f79402075b877090761589c47ffae5a58e5dc4c 100644 (file)
@@ -90,11 +90,10 @@ class Firebird_kinterbasdb(FBDialect):
         return tuple([int(x) for x in m.group(5, 6, 4)])
 
     def is_disconnect(self, e):
-        if isinstance(e, self.dbapi.OperationalError):
-            return 'Unable to complete network request to host' in str(e)
-        elif isinstance(e, self.dbapi.ProgrammingError):
+        if isinstance(e, (self.dbapi.OperationalError, self.dbapi.ProgrammingError)):
             msg = str(e)
-            return ('Invalid connection state' in msg or
+            return ('Unable to complete network request to host' in msg or
+                    'Invalid connection state' in msg or
                     'Invalid cursor state' in msg)
         else:
             return False