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 [email protected].
For more options, visit https://groups.google.com/d/optout.