mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-28 11:35:19 -04:00
- hardwire the huge LIMIT number on MySQL. this might fix the OurSQL py3k
bug we're having, though I'm not able to get a good run of OurSQL on OSX right now either Python 2 or 3.
This commit is contained in:
@@ -1224,9 +1224,19 @@ class MySQLCompiler(compiler.SQLCompiler):
|
||||
elif offset is not None:
|
||||
# As suggested by the MySQL docs, need to apply an
|
||||
# artificial limit if one wasn't provided
|
||||
# http://dev.mysql.com/doc/refman/5.0/en/select.html
|
||||
if limit is None:
|
||||
limit = 18446744073709551615
|
||||
return ' \n LIMIT %s, %s' % (
|
||||
# hardwire the upper limit. Currently
|
||||
# needed by OurSQL with Python 3
|
||||
# (https://bugs.launchpad.net/oursql/+bug/686232),
|
||||
# but also is consistent with the usage of the upper
|
||||
# bound as part of MySQL's "syntax" for OFFSET with
|
||||
# no LIMIT
|
||||
return ' \n LIMIT %s, %s' % (
|
||||
self.process(sql.literal(offset)),
|
||||
"18446744073709551615")
|
||||
else:
|
||||
return ' \n LIMIT %s, %s' % (
|
||||
self.process(sql.literal(offset)),
|
||||
self.process(sql.literal(limit)))
|
||||
else:
|
||||
|
||||
@@ -1073,8 +1073,8 @@ class SQLTest(TestBase, AssertsCompiledSQL):
|
||||
|
||||
self.assert_compile(
|
||||
select([t]).offset(10),
|
||||
"SELECT t.col1, t.col2 FROM t LIMIT %s, %s",
|
||||
{'param_1':10, 'param_2':18446744073709551615}
|
||||
"SELECT t.col1, t.col2 FROM t LIMIT %s, 18446744073709551615",
|
||||
{'param_1':10}
|
||||
)
|
||||
|
||||
def test_varchar_raise(self):
|
||||
|
||||
Reference in New Issue
Block a user