diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-03-10 23:31:40 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-03-10 23:31:40 +0000 |
| commit | 320cb9b75f763355ed798c80d245998ce57e21cc (patch) | |
| tree | adba6e41c2fb90c507d394b32ed7335eaa8fb90e /lib/sqlalchemy/engine/default.py | |
| parent | dc2d085a75edf382fadcf40e100542b74a78686a (diff) | |
| download | sqlalchemy-320cb9b75f763355ed798c80d245998ce57e21cc.tar.gz | |
- oracle:
- got binary working for any size input ! cx_oracle works fine,
it was my fault as BINARY was being passed and not BLOB for
setinputsizes (also unit tests werent even setting input sizes).
- auto_setinputsizes defaults to True for Oracle, fixed cases where
it improperly propigated bad types.
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index ef0a6cc57..c6e0d9dc4 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -193,14 +193,18 @@ class DefaultExecutionContext(base.ExecutionContext): for params in plist[0:1]: for key in params.positional: typeengine = params.binds[key].type - inputsizes.append(typeengine.get_dbapi_type(self.dialect.module)) + dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.module) + if dbtype is not None: + inputsizes.append(dbtype) cursor.setinputsizes(*inputsizes) else: inputsizes = {} for params in plist[0:1]: for key in params.keys(): typeengine = params.binds[key].type - inputsizes[key] = typeengine.get_dbapi_type(self.dialect.module) + dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.module) + if dbtype is not None: + inputsizes[key] = dbtype cursor.setinputsizes(**inputsizes) def _process_defaults(self, engine, proxy, compiled, parameters): |
