From: Dobes Vandermeer Date: Fri, 25 Apr 2014 17:22:50 +0000 (-0700) Subject: Extract limit/offset to variables X-Git-Tag: rel_1_0_0b1~434^2~1^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e9b398f8a6ecd5b68142ab334a81683eff966e09;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Extract limit/offset to variables --- diff --git a/lib/sqlalchemy/dialects/sybase/base.py b/lib/sqlalchemy/dialects/sybase/base.py index 501270778f..3e61b5ba68 100644 --- a/lib/sqlalchemy/dialects/sybase/base.py +++ b/lib/sqlalchemy/dialects/sybase/base.py @@ -325,18 +325,20 @@ class SybaseSQLCompiler(compiler.SQLCompiler): s = select._distinct and "DISTINCT " or "" # TODO: don't think Sybase supports # bind params for FIRST / TOP - if select._limit: + limit = select._limit + if limit: #if select._limit == 1: #s += "FIRST " #else: #s += "TOP %s " % (select._limit,) - s += "TOP %s " % (select._limit,) - if select._offset: - if not select._limit: + s += "TOP %s " % (limit,) + offset = select._offset + if offset: + if not limit: # FIXME: sybase doesn't allow an offset without a limit # so use a huge value for TOP here s += "TOP 1000000 " - s += "START AT %s " % (select._offset + 1,) + s += "START AT %s " % (offset + 1,) return s def get_from_hint_text(self, table, text):