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/engine/default.py | |
| 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/engine/default.py')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index b06f862f7..d113bc50f 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -334,7 +334,10 @@ class DefaultExecutionContext(base.ExecutionContext): dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.dbapi) if dbtype is not None: inputsizes.append(dbtype) - self.cursor.setinputsizes(*inputsizes) + try: + self.cursor.setinputsizes(*inputsizes) + except Exception, e: + raise self._connection._handle_dbapi_exception(e, None, None, None) else: inputsizes = {} for key in self.compiled.bind_names.values(): @@ -342,7 +345,10 @@ class DefaultExecutionContext(base.ExecutionContext): dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.dbapi) if dbtype is not None: inputsizes[key.encode(self.dialect.encoding)] = dbtype - self.cursor.setinputsizes(**inputsizes) + try: + self.cursor.setinputsizes(**inputsizes) + except Exception, e: + raise self._connection._handle_dbapi_exception(e, None, None, None) def __process_defaults(self): """generate default values for compiled insert/update statements, |
