Re: Caching update

From: Cris Daniluk (cris.danilu..mail.com)
Date: Sun Feb 12 2006 - 13:39:32 EST

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

    It's not clear... we were having some weird behavior that forced me to
    go to CVS in the first place, so its hard to tell if this specific
    problem was there before.

    I could do some testing to find out if you want..

    Cris

    On 2/12/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
    > Yep. (although I overlooked this issue)
    >
    > BTW, I also think this was a current CVS issue only. Just curious -
    > what version of Cayenne did you use when you discovered it?
    >
    > Andrus
    >
    >
    > On Feb 12, 2006, at 10:49 AM, Cris Daniluk wrote:
    >
    > > 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 - 13:39:34 EST