Does this imply a fix for CAY-444? :)
On 2/12/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
> Marcin, et al.
>
> FYI: I just made a few changes to the caching mechanism to address
> bugs in the new code and plug some of the earlier design holes:
>
> * Fixed caching mechanism for Queries with parameters that stored in
> the DataMap (I am not sure whether this worked before, as we didn't
> have appropriate unit tests, but it certainly didn't work with CVS
> code).
>
> I introduced QueryMetadata.getCacheKey() as a way to find how to
> cache a query result. This allows indirect queries (such as
> NamedQuery) to use a cache key in runtime that is different from its
> name. Thus we can correctly cache results obtained for the same
> query, but different sets of parameters.
>
> * Added two more cache types: QueryMetadata.LOCAL_CACHE_REFRESH and
> QueryMetadata.SHARED_CACHE_REFRESH. These basically tell Cayenne "I
> want current cache to be expired, and the new result to be cached".
>
> My feeling is that "setRefreshingObjects" (that was used before for
> refresh purposes) was a hack because it meant something entirely
> different (refresh individual objects). For instance if a query
> stored in a map had both caching and refresh checked in the Modeler,
> it would never work from cache, but always store the results. Makes
> no sense.
>
> I need to load this info to Wiki, but I figured I post it here first.
>
> Andrus
>
This archive was generated by hypermail 2.0.0 : Sun Feb 12 2006 - 10:50:01 EST