summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-11-29 17:28:36 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-11-29 17:28:36 -0500
commit35bfda533ed1546f40a5907dfe87c14c0b71cd0d (patch)
tree796d277ec6e4567433be9ae2403e6a4193b6d6ef /lib/sqlalchemy
parentaaf9933942c824613b9869518bdfcc997a87da46 (diff)
downloadsqlalchemy-35bfda533ed1546f40a5907dfe87c14c0b71cd0d.tar.gz
- repair MS-SQL handling of LIMIT/OFFSET as binds, add bindparam() to the compile stream
so they function correctly
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py8
1 files changed, 4 insertions, 4 deletions
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)