From: Lele Gaifax Date: Sun, 27 Dec 2009 18:56:27 +0000 (+0000) Subject: Recognize more Firebird disconnection cases, fixing #1646 on trunk X-Git-Tag: rel_0_6beta1~115 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=535a4a77bf2415a292a6aa818df7bb3958569f67;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Recognize more Firebird disconnection cases, fixing #1646 on trunk --- diff --git a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py index c804af05f1..6f79402075 100644 --- a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py +++ b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py @@ -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