For what it's worth, the Django ORM uses Python array slicing syntax (i.e., [start:stop]) to implement limit/offset, and SQLAlchemy uses .slice(start, stop) (though it also offers separate .limit() and .offset() methods). I don't think it is common to have a single argument of the form (limit, offset).
Anthony On Tuesday, March 7, 2017 at 10:22:25 AM UTC-5, Anthony wrote: > > On Tuesday, March 7, 2017 at 9:20:53 AM UTC-5, Richard wrote: >> >> Yes sorry it was more of a complaint than a question >> >> :) >> >> I was disturbed by the fact that I can't leave the limit constant, like >> 10 rows, and only manipulate the offset as I would do in sql... >> > > It sounds like you want something like: > > LIMIT = 10 > offset = request.vars.offset > rows = db(query).select(..., limitby=(LIMIT, offset)) > > But that isn't really much simpler than the actual DAL API, which is: > > rows = db(query).select(..., limitby=(offset, offset + LIMIT)) > > What is the big difficulty with the above? > > I'm not sure why the DAL uses (min, max) rather than (limit, offset), but > I suspect the reason is that (min, max) is clearer when combining both > values into a single parameter using a tuple. With a single tuple of > values, it is natural for the first to be the min and the second the max, > but the ordering of limit and offset would be somewhat arbitrary and open > to confusion. If we wanted the API to accept a limit and an offset, it > would probably be more clear to make those separate arguments. > > Anyway, if it really bothers you, you can define a simple function: > > def mylim(limit, offset): > return (offset, offset + limit) > > and use: > > limitby=mylim(limit, offset) > > Anthony > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.