diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-29 17:28:36 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-29 17:28:36 -0500 |
| commit | 35bfda533ed1546f40a5907dfe87c14c0b71cd0d (patch) | |
| tree | 796d277ec6e4567433be9ae2403e6a4193b6d6ef /lib/sqlalchemy | |
| parent | aaf9933942c824613b9869518bdfcc997a87da46 (diff) | |
| download | sqlalchemy-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.py | 8 |
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) |
