summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/databases/oracle.py6
-rw-r--r--lib/sqlalchemy/engine/default.py4
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)