]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fix for ticket 473
authorRick Morrison <rickmorrison@gmail.com>
Wed, 14 Feb 2007 23:36:56 +0000 (23:36 +0000)
committerRick Morrison <rickmorrison@gmail.com>
Wed, 14 Feb 2007 23:36:56 +0000 (23:36 +0000)
lib/sqlalchemy/databases/mssql.py

index 737a603c9f7d6564da86f12ebb83561906f23f66..63e04cef7a4aa3ed74ab117e8f684ab0975d42fc 100644 (file)
@@ -558,6 +558,13 @@ class MSSQLCompiler(ansisql.ANSICompiler):
             self.strings[column] = \
                 self.strings[self.tablealiases[column.table].corresponding_column(column)]
 
+    def visit_binary(self, binary):
+        """Move bind parameters to the right-hand side of an operator, where possible."""
+        if isinstance(binary.left, sql._BindParamClause) and binary.operator == '=':
+            binary.left, binary.right = binary.right, binary.left
+        super(MSSQLCompiler, self).visit_binary(binary)
+
+
 class MSSQLSchemaGenerator(ansisql.ANSISchemaGenerator):
     def get_column_specification(self, column, **kwargs):
         colspec = self.preparer.format_column(column) + " " + column.type.engine_impl(self.engine).get_col_spec()