Further investigation shows that cache.redis plays nicely with pyodbc *as 
long as you have all uniquely named fields in your select*. The selects 
that I was working with involved multiple tables that each had a "Name" 
field that was being selected. If I add .with_alias() to provide unique 
names then caching worked but that's also not really convenient. Is this 
the way it is supposed to work?

On Tuesday, April 3, 2018 at 2:16:30 PM UTC-5, Anthony wrote:
>
> You can also see what happens if you do not set cacheable=True.
>
> On Tuesday, April 3, 2018 at 3:15:55 PM UTC-4, Anthony wrote:
>>
>> It should work. Could be a bug specific to using pyodbc. Have you tried 
>> it with other databases/drivers? Feel free to file a PyDAL issue.
>>
>> Anthony
>>
>> On Tuesday, April 3, 2018 at 12:40:50 PM UTC-4, Brian M wrote:
>>>
>>> I've been playing with caching and looking through the mailing list and 
>>> have a bit of confusion about whether or not you can actually cache DAL 
>>> Selects with anything other than cache.ram due to issues with what 
>>> can/cannot be pickled. When I use 
>>>
>>> db(...).select(...,cache=(cache.disk, 300), cacheable=True)
>>>
>>> Caching works just fine. But if I try it with cache.disk or cache.redis 
>>> instead then I get errors which seem to be related to not being able to 
>>> unpickle the cached select results. 
>>>
>>> type 'exceptions.TypeError'> ("cannot create 'pyodbc.Row' instances", 
>>> <type 'pyodbc.Row'>, ....)
>>>
>>>
>>> This, admittedly old, post seems to suggest that cache.redis should be 
>>> pretty much drop-in for cache.ram but that's not my experience. 
>>> https://groups.google.com/forum/?fromgroups#!searchin/web2py/caching$20model$20data/web2py/Tn4TiLPScII/jtMR1KtT4V8J
>>>
>>>
>>> So does the ability to cache DAL Selects really only exist for cache.ram 
>>> or am I missing something?
>>>
>>>
>>> Brian
>>>
>>

-- 
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.

Reply via email to