]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
patched fix for [ticket:677], thanks !
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 23 Jul 2007 21:01:13 +0000 (21:01 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 23 Jul 2007 21:01:13 +0000 (21:01 +0000)
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/sql.py

index b529b4672214d2c209b834b22091dafa83cdd7e8..a87a2e01704dbbb4c17de1e991b36b0fe60f0c3f 100644 (file)
@@ -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
index 04de9d42da6c56f406a6840e5976f739ba7c2abb..49fbb3aa03f51c2c06ccf734eb003c8c2044aec5 100644 (file)
@@ -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)