diff options
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 620a5abd6..db82e3dea 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -132,10 +132,11 @@ def descriptor(): class OracleExecutionContext(default.DefaultExecutionContext): def pre_exec(self, engine, proxy, compiled, parameters): super(OracleExecutionContext, self).pre_exec(engine, proxy, compiled, parameters) - #self.set_input_sizes(proxy(), parameters) + if self.dialect.auto_setinputsizes: + self.set_input_sizes(proxy(), parameters) class OracleDialect(ansisql.ANSIDialect): - def __init__(self, use_ansi=True, module=None, threaded=True, **kwargs): + def __init__(self, use_ansi=True, auto_setinputsizes=False, module=None, threaded=True, **kwargs): self.use_ansi = use_ansi self.threaded = threaded if module is None: @@ -143,6 +144,7 @@ class OracleDialect(ansisql.ANSIDialect): else: self.module = module self.supports_timestamp = hasattr(self.module, 'TIMESTAMP' ) + self.auto_setinputsizes = auto_setinputsizes ansisql.ANSIDialect.__init__(self, **kwargs) def dbapi(self): diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 4a3791c35..ea542fe5b 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -174,14 +174,14 @@ class DefaultExecutionContext(base.ExecutionContext): plist = [parameters] if self.dialect.positional: inputsizes = [] - for params in plist[0]: + 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)) cursor.setinputsizes(*inputsizes) else: inputsizes = {} - for params in plist[0]: + 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) |
