From 35bfda533ed1546f40a5907dfe87c14c0b71cd0d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 29 Nov 2010 17:28:36 -0500 Subject: - repair MS-SQL handling of LIMIT/OFFSET as binds, add bindparam() to the compile stream so they function correctly --- lib/sqlalchemy/dialects/mssql/base.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/sqlalchemy/dialects') diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index fc374c595..7dd7400ea 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -740,13 +740,13 @@ class MSSQLCompiler(compiler.SQLCompiler): sql.literal_column("ROW_NUMBER() OVER (ORDER BY %s)" \ % orderby).label("mssql_rn") ).order_by(None).alias() - + + mssql_rn = sql.column('mssql_rn') limitselect = sql.select([c for c in select.c if c.key!='mssql_rn']) - limitselect.append_whereclause("mssql_rn>%s" % self.process(sql.literal(_offset))) + limitselect.append_whereclause(mssql_rn> _offset) if _limit is not None: - limitselect.append_whereclause("mssql_rn<=%s" % - (self.process(sql.literal(_limit + _offset)))) + limitselect.append_whereclause(mssql_rn<=(_limit + _offset)) return self.process(limitselect, iswrapper=True, **kwargs) else: return compiler.SQLCompiler.visit_select(self, select, **kwargs) -- cgit v1.2.1