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:
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):