Re: Caching update

From: Cris Daniluk (cris.danilu..mail.com)
Date: Sun Feb 12 2006 - 10:49:57 EST

  • Next message: Andrus Adamchik: "Re: Caching update"

    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