diff options
| author | Lele Gaifax <lele@metapensiero.it> | 2009-12-27 18:56:27 +0000 |
|---|---|---|
| committer | Lele Gaifax <lele@metapensiero.it> | 2009-12-27 18:56:27 +0000 |
| commit | 535a4a77bf2415a292a6aa818df7bb3958569f67 (patch) | |
| tree | 7b7e63f0cc0102cd6332a2ec36764f5cb075edf7 /lib/sqlalchemy | |
| parent | a829db8dde301ee6414a0c0a3889acc93f9c2dce (diff) | |
| download | sqlalchemy-535a4a77bf2415a292a6aa818df7bb3958569f67.tar.gz | |
Recognize more Firebird disconnection cases, fixing #1646 on trunk
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/dialects/firebird/kinterbasdb.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py index c804af05f..6f7940207 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 |
