From: Mike Bayer Date: Mon, 23 Jul 2007 21:01:13 +0000 (+0000) Subject: patched fix for [ticket:677], thanks ! X-Git-Tag: rel_0_4_6~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c482122d6a1d65a83c4fd276e4265d06d29735f8;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git patched fix for [ticket:677], thanks ! --- diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index b529b46722..a87a2e0170 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -283,7 +283,7 @@ class DefaultExecutionContext(base.ExecutionContext): inputsizes = [] for params in plist[0:1]: for key in params.positional: - typeengine = params.binds[key].type + typeengine = params.get_type(key) dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.dbapi) if dbtype is not None: inputsizes.append(dbtype) @@ -292,7 +292,7 @@ class DefaultExecutionContext(base.ExecutionContext): inputsizes = {} for params in plist[0:1]: for key in params.keys(): - typeengine = params.binds[key].type + typeengine = params.get_type(key) dbtype = typeengine.dialect_impl(self.dialect).get_dbapi_type(self.dialect.dbapi) if dbtype is not None: inputsizes[key] = dbtype diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index 04de9d42da..49fbb3aa03 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -793,6 +793,9 @@ class ClauseParameters(object): def get_original(self, key): return self.__binds[key][2] + def get_type(self, key): + return self.__binds[key][0].type + def get_processed(self, key): (bind, name, value) = self.__binds[key] return bind.typeprocess(value, self.dialect)