From: Lele Gaifax Date: Tue, 29 Dec 2009 11:05:55 +0000 (+0000) Subject: Recognize more Firebird disconnection cases, fixing #1646 on 0.5.x X-Git-Tag: rel_0_5_8~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9218fcf2477cd6a2a611e2f967bb3b4a99833660;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Recognize more Firebird disconnection cases, fixing #1646 on 0.5.x --- diff --git a/lib/sqlalchemy/databases/firebird.py b/lib/sqlalchemy/databases/firebird.py index 9a742cae09..d61e8092bb 100644 --- a/lib/sqlalchemy/databases/firebird.py +++ b/lib/sqlalchemy/databases/firebird.py @@ -394,11 +394,10 @@ class FBDialect(default.DefaultDialect): return False 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