summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/default.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-03-10 23:31:40 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-03-10 23:31:40 +0000
commit320cb9b75f763355ed798c80d245998ce57e21cc (patch)
treeadba6e41c2fb90c507d394b32ed7335eaa8fb90e /lib/sqlalchemy/engine/default.py
parentdc2d085a75edf382fadcf40e100542b74a78686a (diff)
downloadsqlalchemy-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.py8
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):