On Nov 6, 12:28 am, Iceberg <[email protected]> wrote: > Do you mean you will implement a new CacheInRam.__call__(..., > deepcopy=True)?
Probably no. But I will think about it. > Or do you mean the current implementation is good enough? I think so > Well, I can > live with that, trying to subclass the CacheInRam for my own > shallowcopy-edition. :-) It may break caching of select(...,cache=...) > On Nov6, 2:14pm, mdipierro <[email protected]> wrote: > > > I think the default behavor should be that the object is deepcopied. > > > On Nov 6, 12:08 am, Iceberg <[email protected]> wrote: > > > > > On Nov 6, 2:42 am, mdipierro <[email protected]> wrote: > > > > > > I found the problem. > > > > > > There is, there always was, a bug in cache.ram. It was caching the > > > > > original object, not a copy, so if the object gets modified the one in > > > > > cache changes too. > > > > > > This bug only showed up now. > > > > > > I fixed in trunk and I will post a web2py 1.71.3 asap. > > > > > > For now you can still use the latest web2py but edit gluon/cache.py > > > > > add > > > > > include copy > > > > > and replace > > > > > self.storage[key] = (time.time(), value) > > > > > with > > > > > self.storage[key] = (time.time(), copy.deepcopy(value)) > > > > > > Massimo > > > > On Nov6, 2:46am, vince <[email protected]> wrote: > > > > > thanks for your quick fix! > > > > > vince > > > > I met the same problem and am happy to see Vince and Massimo combine > > > for a quick debug and fix. Thanks! > > > > But, do we really need a deepcopy? Or shall we just cache the original > > > copy, so that the cached version is always up-to-date? > > > > Besides, what if the instance to be cached is not deepcopy-able? It > > > happens in some of my apps, so the latest fix still don't work for > > > me. :-/ > > > > Perhaps we can add one more parameter for CacheInRam.__call__(..., > > > deepcopy=True) for flexibility? > > > > Hope to hear more feedback on this. Thanks. > > > > Regards, > > > Iceberg > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

