On Monday, March 6, 2017 at 5:50:05 PM UTC-8, Anthony wrote: > > What is your question? If you want to do an offset, you need two numbers > -- either the two endpoints of the interval or one endpoint plus the size > of the interval. Whichever pair of numbers you have, it is a single > arithmetic operation to get the alternative pair. It might help if you > explain what two numbers you would prefer to work with and where you are > getting them. > > Anthony >
Is the issue perhaps cognitive dissonance caused by "min" and "max" being different from Richard's concept of "offset"? I can see that if you're used to applying min and max to the* values*, you might be disturbed by applying them to the *indices*. /dps > On Monday, March 6, 2017 at 4:11:52 PM UTC-5, Richard wrote: >> >> Hello, >> >> I may not understanding something... I am desapointed that I can't simply >> manipulate offset of the sql... Or should I just manipulate the limit... >> >> I mean if I do repetitively thise query in sql : >> >> select * form table order by desc limit 10 offset 0 >> select * form table order by desc limit 10 offset 10 >> select * form table order by desc limit 10 offset 20 >> select * form table order by desc limit 10 offset 30 >> >> I will get progressively all the records from the table 10 at a time... >> >> But I can't simply do it with this query : >> >> rows = db((db.table.id > 0) >> ).select(db.table.id, db.table.represent_field, >> orderby=~db.table.id, >> limitby=(10, offset if offset else 0)) >> >> Reading the book there seems to have planty of backend that don't support >> paging with limit and offset properly... >> >> But still I find it frustrasting to have to struggle with the DAL and >> have to provide min and max for the offset to a limitby function which >> isn't a limit but an offset in reallity... >> >> I solve it with this : >> >> offset = request.vars.limit_by >> if offset not in ('None', '', None) and offset.isdigit(): >> offset = int(offset) >> min = offset - 10 >> max = offset >> else: >> offset = None >> min = 0 >> max = 10 >> >> rows = db((db.table.id > 0) >> ).select(db.table.id, db.table.represent_field, >> orderby=~db.table.id, >> limitby=(min, max)) >> >> >> Richard >> >> >> -- 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.