diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-03 21:47:48 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-03 21:47:48 +0000 |
| commit | 73f145dc0e725d8aa7eb47429a89fbc448f97414 (patch) | |
| tree | 47c4077d5b03ed61671fc979886072d560772858 /lib/sqlalchemy | |
| parent | 08ea8fefa4cd5082725df61b1e3d02b88c4c6933 (diff) | |
| download | sqlalchemy-73f145dc0e725d8aa7eb47429a89fbc448f97414.tar.gz | |
- added auto_setinputsizes=False to oracle dialect. if true, all executions will get setinputsizes called ahead of time.
- some tweaks to the types unittest for oracle. oracle types still need lots more work.
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) |
