diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-29 20:13:50 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-29 20:13:50 +0000 |
commit | 57201ca878f7b22bf1495ee9b7825b81489729bc (patch) | |
tree | b4b74ec453fd5d021336cccb90ab1095c9cf64cf /lib/sqlalchemy/databases | |
parent | a582fe3b2645f4c12221b0dc8940cefffe674a93 (diff) | |
download | sqlalchemy-57201ca878f7b22bf1495ee9b7825b81489729bc.tar.gz |
- added is_disconnect() support for oracle
- fixed _handle_dbapi_error to detect endless loops, doesn't call rollback/cursor.close
etc. in case of disconnect
Diffstat (limited to 'lib/sqlalchemy/databases')
-rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 9c9c54bf6..c57ed006c 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -311,6 +311,12 @@ class OracleDialect(default.DefaultDialect): return ([], opts) + def is_disconnect(self, e): + if isinstance(e, self.dbapi.InterfaceError): + return "not connected" in str(e) + else: + return "ORA-03114" in str(e) or "ORA-03113" in str(e) + def type_descriptor(self, typeobj): return sqltypes.adapt_type(typeobj, colspecs) |