From b3ec17153bd75107e7e6f8164c9fbea537685b5b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 18 Nov 2007 21:32:13 +0000 Subject: - MSSQL anonymous labels for selection of functions made deterministic - propagate correct **kwargs through mssql methods --- lib/sqlalchemy/databases/mssql.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index 92b454f82..672f8d77c 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -903,25 +903,25 @@ class MSSQLCompiler(compiler.DefaultCompiler): return self.process(t.corresponding_column(column)) return super(MSSQLCompiler, self).visit_column(column, **kwargs) - def visit_binary(self, binary): + def visit_binary(self, binary, **kwargs): """Move bind parameters to the right-hand side of an operator, where possible.""" if isinstance(binary.left, expression._BindParamClause) and binary.operator == operator.eq: - return self.process(expression._BinaryExpression(binary.right, binary.left, binary.operator)) + return self.process(expression._BinaryExpression(binary.right, binary.left, binary.operator), **kwargs) else: - return super(MSSQLCompiler, self).visit_binary(binary) + return super(MSSQLCompiler, self).visit_binary(binary, **kwargs) def label_select_column(self, select, column): if isinstance(column, expression._Function): - return column.label(column.name + "_" + hex(random.randint(0, 65535))[2:]) + return column.label(None) else: return super(MSSQLCompiler, self).label_select_column(select, column) function_rewrites = {'current_date': 'getdate', 'length': 'len', } - def visit_function(self, func): + def visit_function(self, func, **kwargs): func.name = self.function_rewrites.get(func.name, func.name) - return super(MSSQLCompiler, self).visit_function(func) + return super(MSSQLCompiler, self).visit_function(func, **kwargs) def for_update_clause(self, select): # "FOR UPDATE" is only allowed on "DECLARE CURSOR" which SQLAlchemy doesn't use -- cgit v1.2.1